[英]lambda expression for Enumerable.Select
我試圖弄清楚如何開始使用 linq 和 lambda 表達式。
首先,如果有人可以指導我一些好的教程,那將不勝感激。
第二:
我正在嘗試 select 使用 Select 方法等於特定值的所有值。
我注意到 select 可以定義為
Select<TSource,TResult>(...lambda expression...)
現在為此目的,我想 select 所有等於 5 的數字。
int[] numbers = { 1, 2, 3, 4, 5, 5, 5, 6, 7, 8 };
IEnumerable<int> res = numbers.Select( x=>5 );
這不起作用,我只是不明白這是如何工作的。 在什么情況下我應該定義TSource
和TResult
,在這種情況下它們會是什么?
提前致謝!
Select()
用於將舊序列的每個成員投影到新序列的新成員中。 要過濾,請使用Where()
:
var evens = numbers.Where(x => x % 2 == 0);
var theFiveSequence = numbers.Where(x => x == 5);
使用Select()
的示例可能是將每個數字乘以 2:
var doubledNumbers = numbers.Select(x => 2*x);
您也可以將這些方法組合在一起:
var doubledNumbersLessThanTen = numbers.Select(x => 2*x).Where(x < 10);
關於 LINQ 要記住兩件重要的事情:
foreach
循環中使用它們或調用.ToList()
、 .ToArray()
等之前,你不會從它們那里得到結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.