-1

ポイント構造体配列があります:

Point[] arr  = samples.pointsArray;

X が最大の数であるこの配列ポイントから取得する必要があります。

  Point maxX= (some logic);

これをどのように実装できるか考えていますか?

4

2 に答える 2

4

OrderByおよびFirstLINQ 演算子を使用します。

Point minX = arr.OrderBy(p => p.X).First();

Point maxX = arr.OrderByDescending(p => p.X).First();
また
Point maxX = arr.OrderBy(p => p.X).Last();

代替ソリューション (を使用せずにOrderBy):
OrderBy を使用せずにポイントの配列から最小の X でポイントを取得する方法は?

于 2012-11-25T14:36:34.177 に答える
1

@Rotem で提案されているように、配列を並べ替える (!?!) 必要がなくても、次のように簡単に実行できます。

int maxX = arr.Max(p => p.X);
Point maxXPt = arr.First(p => p.X == maxX);

これは O(n) で行われるのに対し、OrderByメソッドは O(n log n) であることに注意してください。

于 2013-04-14T16:02:37.217 に答える