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

11 c# linq generics entity-framework

我有一组对象.例如

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 }
};
Run Code Online (Sandbox Code Playgroud)

现在我想使用LINQ在此列表中添加一个项目.我怎样才能做到这一点?

Jon*_*eet 16

你没有.LINQ用于查询,而不是添加.您通过编写添加新项目:

subscription.Add(new Subscription { Type = "Foo", Type2 = "Bar", Period = 1 });
Run Code Online (Sandbox Code Playgroud)

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

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


sll*_*sll 6

我建议使用List.Add():

subscription.Add(new Subscriptioin(...))
Run Code Online (Sandbox Code Playgroud)

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

subscriptions.Union(new List<Subscription> { new Subscriptioin(...) };
Run Code Online (Sandbox Code Playgroud)