[英]List.add using Linq
我已經閱讀了幾篇關於Linq和Func <>的文章並理解了簡單的例子,但我無法在日常編程中使用它們。 我很想知道LINQ或lambda表達式有用和應該使用的場景是什么
對於此代碼:我可以使用Linq或lambda表達式
List<int> abundantNumbers = new List<int>();
for (int i = 0; i < 28888; i++)
{
if (i < pta.SumOfDivisors(i))
{
abundantNumbers.Add(i);
}
}
是的,你可以在你的例子中絕對使用LINQ:
var abundantNumbers = Enumerable.Range(0, 28888)
.Where(i => i < pta.SumOfDivisors(i))
.ToList();
請注意,重要的是你不要只發布添加到列表中的代碼 - 你發布的代碼顯示列表是空的開始。 換句話說,您正在創建一個列表。 如果您只是將代碼添加到現有列表中,我會使用以下內容:
var query = Enumerable.Range(0, 28888).Where(i => i < pta.SumOfDivisors(i));
abundantNumbers.AddRange(query);
如果你想用LINQ表示法做,它會是這樣的:
var abundantNumbers = (from i in Enumerable.Range(0, 28888)
where i < pta.SumOfDivisors(i)
select i)
.ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.