我正在寻找一种方法来使用一组值(在 C# 中)初始化 List 类型的变量。是的,有对象初始化,但这需要为您想要的每个值创建一个新对象,我宁愿避免它。
这是一个示例:
class MyObject
{
public string Name {get;set;}
}
List<MyObject> OldNames = new List<MyObject>(10);
List<MyObject> NewNames = new List<MyObject>(5);
这很好,但 OldNames 包含对 MyObject 类型对象的 10 个空引用。
使用列表初始化程序我可以这样做:
List<MyObject> OldNames = new List<MyObject>{
new MyObject(),
new MyObject(),
new MyObject(),
etc.
这有点痛苦,因为我有许多列表变量和各种大小要初始化(例如,一个变量是 26 个对象的列表。是的,我可以编写一个函数或扩展来为我做这个初始化(在一个循环中,我提供大小)但同样是我不一定要编写的代码。
我希望有某种 lamdba 或 LINQ 表达式或将对象列表初始化为值而不是空值的东西。
谢谢!