我有一个像
这样的课程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。
答案 0 :(得分:5)
这将生成您的对象并将它们添加到集合中(您不需要初始化Consumed属性,因为它已经将零作为默认值):
list.AddRange(Enumerable.Range(1, 10)
.Except(list.Select(m => m.RequiredValue))
.Select(i => new MyClass() { RequiredValue = i } );