2012-06-05 48 views

回答

3

可以使用LINQ用於過濾數組:

var filteredArray = existingArray.Where(x => x > 8).ToArray(); 
+0

啊,我希望能用Linq完成它!我在亂搞'Where',但無法獲得'x => x> 8)'部分的權利。現在應該沒問題。謝謝! – Felix

+1

@Felix是的,lambda語法在開始時可能有點混亂,但真的值得更多地瞭解它。 – Botz3000

0

您可以使用LinQ

(from num in array where num > 8 select num).ToArray(); 

你也可以試試:

var filteredArray = yourArray.Where(c => c >8); 
+0

事實上,我不會建議使用查詢表達式這樣的事情。 –

6

聽起來好像要LINQ。例如:

int[] largeIntegers = allIntegers.Where(x => x > 8).ToArray(); 

根據需要,雖然做的事情,你可能不真正需要ToArray電話。例如:

IEnumerable<int> largeIntegers = allIntegers.Where(x => x > 8); 
foreach (int value in largeIntegers) 
{ 
    ... 
} 

LINQ能夠比過濾多,但 - 我會強烈勸你還是好好學學吧 - 有物質上關於它的淨數額巨大。我有一個whole blog series about LINQ to Objects,例如 - 但是LINQ不僅止於進程查詢過。

你也可能需要閱讀埃裏克利珀的原因博客文章"arrays considered somewhat harmful"喜歡在陣列其他收藏品在許多情況下。

另一種方法是使用Array.FindAll

...但是這真的那麼你綁成陣列。 LINQ更通用。

相關問題