我有一个类
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/