是否可以在C#.net中使用LINQ来批量初始化对象?

All*_*hua 0 c# linq object

我有我的这个对象名为Rooms我可以使用linq批量初始化它们而不是使用这种代码吗?

List<Rooms> listOfRooms = new List<Rooms>();
foreach(var room in listOfRooms)
{
  room = new Rooms();
}
Run Code Online (Sandbox Code Playgroud)

xan*_*tos 8

var listOfRooms = Enumerable.Range(0, 10).Select(p => new Rooms()).ToList();
Run Code Online (Sandbox Code Playgroud)

这是用于创建List10 的解决方案Rooms.

请注意,Select您可以访问索引(0 ... 9)(被调用p).您可以使用奇特的逻辑并Rooms使用特定值进行初始化.

正如Mustafin所建议的那样,可以使用"混合"Linq表达式:

var listOfRooms = (from p in Enumerable.Range(0, 10) select new Rooms()).ToList();
Run Code Online (Sandbox Code Playgroud)

我不喜欢这种形式,因为它"混合"了Linq的两种"风格".