4

我有一个像

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。

4

1 回答 1

5

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

list.AddRange(Enumerable.Range(1, 10)
                        .Except(list.Select(m => m.RequiredValue))
                        .Select(i => new MyClass() { RequiredValue = i } );
于 2012-11-09T11:03:53.407 回答