c# - 如何使用 Linq 在 C# 列表中添加缺失值列表

标签 c# linq list add items

我有一个类

public class MyClass
{
  public float Consumed { get; set;}
  public int RequiredValue { get; set;}
}

这个类的列表

List<MyClass> list

已经有一些类型为 MyClass 的项目包含“RequiredValue”,例如 3、5、6、8 和 10,以及“Consumed”属性中的相应值。我使用以下代码找到 1 到 10 范围内的缺失值:

var missingValues = Enumerable.Range(1, 10).Except(list.Select(p1 => p1.RequiredValue));

我想使用 Linq 在“列表”中添加项目,这样新项目在“RequiredValue”和“Consumed”中的缺失值为 0。

最佳答案

这将生成您的对象并将它们添加到集合中(您不需要初始化 Consumed 属性,因为它已经将零作为默认值):

list.AddRange(Enumerable.Range(1, 10)
                        .Except(list.Select(m => m.RequiredValue))
                        .Select(i => new MyClass() { RequiredValue = i } );

关于c# - 如何使用 Linq 在 C# 列表中添加缺失值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13306815/

相关文章:

c# - SaveFileDialog 过滤器中的多种类型

c# - 反序列化时字节数组大小错误

c# - 检查一个列表是否按顺序包含另一个列表中的所有项目

python - 添加以列出类实例

c# - 泛型中的多态性

c# - 引用 DNXCore5 错误,StringComparer .NET5

c# - 创建简单的 Ping

c# - "new"inside concrete type projection 只被调用一次

c# - linq select 中的异步等待

python - 如何在 Python 中获得相同的输出示例?