簡體   English   中英

List.add使用Linq

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM