c# - List.add 使用 Linq

标签 c# linq lambda

我已经阅读了几篇关于 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);

关于c# - List.add 使用 Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439011/

相关文章:

c# - 为什么我在 C#(和其他问题)中没有收到过大数字的警告?

c# - 重定向未经授权的用户 asp net

java - 将 lambda 与 JdbcTemplate 查询方法一起使用显示模棱两可的错误

c# - 使用 Linq 和 SQL 时如何防止将新记录插入表中?

C# 等效于 C++ std::string 查找

java - 转换 Lambda : BiConsumer<Integer, 整数>

C++ lambda 。需要如何捕获指针?

c# - 多部分标识符无法绑定(bind) C# 和 SQL

c# - 中继器内的 DropDownList : How to handle SelectedIndexChange and get DataItem?

c# - 如何使用 Linq 和 Entity Framework 获得不同的、不区分大小写的列表