我有以下的整數數組:如何使用LINQ獲取int數組中的前3個元素?
int[] array = new int[7] { 1, 3, 5, 2, 8, 6, 4 };
我寫了下面的代碼來獲取數組中的三個因素:
var topThree = (from i in array orderby i descending select i).Take(3);
當我檢查有什麼topThree
裏面,我發現:
{System.Linq.Enumerable.TakeIterator}
計數:0
我做錯了什麼,如何糾正我的代碼?
topThree中的對象不是*結果*,它是*查詢*。 top3是一個對象,意思是「將數組中的項目順序從最高排序到最低並取前三位」。這是*全部*它的意思。這並不意味着「8,6,5」。它意味着*查詢*,而不是*結果*。您可以通過執行查詢,然後更改數組,然後再次執行查詢來演示此操作。查詢完全相同,但結果不同。 – 2009-07-23 15:59:46