如何使用Linq和C#在集合中添加项目

时间:2011-10-04 13:29:30

标签: c# linq entity-framework generics

我有一组对象。 e.g。

List<Subscription> subscription = new List<Subscription>
{
    new Subscription{ Type = "Trial", Type = "Offline", Period = 30  },
    new Subscription{ Type = "Free",  Type = "Offline", Period = 90  },
    new Subscription{ Type = "Paid",  Type = "Online",  Period = 365 }
};

现在我想使用LINQ在此列表中再添加一个项目。我怎么能这样做?

2 个答案:

答案 0 :(得分:16)

你没有。 LINQ用于查询,而不是添加。您可以通过以下方式添加新项目:

subscription.Add(new Subscription { Type = "Foo", Type2 = "Bar", Period = 1 });

(请注意,您无法在同一对象初始值设定项中两次指定属性Type。)

这根本不使用LINQ - 它使用对象初始化器和简单的List<T>.Add方法。

答案 1 :(得分:6)

我建议使用List.Add()

subscription.Add(new Subscriptioin(...))

通过Union()实例包装单个项目,LINQ List<>过度杀伤:

subscriptions.Union(new List<Subscription> { new Subscriptioin(...) };