私は整数の次の配列を持っている:LINQを使用してint配列の上位3要素を取得する方法は?
int[] array = new int[7] { 1, 3, 5, 2, 8, 6, 4 };
私は、アレイ内の上位3つの要素を取得するには、次のコードを書きました:私はtopThree
内だかどうか確認すると
var topThree = (from i in array orderby i descending select i).Take(3);
を、私が見つけます:
{System.Linq.Enumerable.TakeIterator}
数:0
私は間違っていましたが、どうすれば自分のコードを修正できますか?
topThreeのオブジェクトは* results *ではなく、* query *です。 topThreeは、「配列のアイテムのシーケンスを最高から最低までソートし、最初の3つを取る」という意味のオブジェクトです。それは*すべて*ということです。それは "8、6、5"を意味しません。 *結果*ではなく、*クエリ*を意味します。これを実証するには、クエリを実行し、配列を変更してから再度クエリを実行します。クエリはまったく同じですが、結果は異なります。 –