我試着結合多個其他問題/答案,但沒有成功。C#如何創建基於被上述特定值的整數子陣列或過濾數組?
我有含整數的從0變化一個陣列到10 現在我需要僅與整數的數組更高然後例如8.
如何過濾或創建一個子數組將只包含這些整數?
我試着結合多個其他問題/答案,但沒有成功。C#如何創建基於被上述特定值的整數子陣列或過濾數組?
我有含整數的從0變化一個陣列到10 現在我需要僅與整數的數組更高然後例如8.
如何過濾或創建一個子數組將只包含這些整數?
可以使用LINQ用於過濾數組:
var filteredArray = existingArray.Where(x => x > 8).ToArray();
您可以使用LinQ:
(from num in array where num > 8 select num).ToArray();
你也可以試試:
var filteredArray = yourArray.Where(c => c >8);
事實上,我不會建議使用查詢表達式這樣的事情。 –
聽起來好像要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更通用。
啊,我希望能用Linq完成它!我在亂搞'Where',但無法獲得'x => x> 8)'部分的權利。現在應該沒問題。謝謝! – Felix
@Felix是的,lambda語法在開始時可能有點混亂,但真的值得更多地瞭解它。 – Botz3000