在下面的示例中,我正在努力弄清楚 List 发生了什么:
public class DataObject
{
public List<object> SomeObjects { get; set; }
}
class Program
{
static void Main(string[] args)
{
var dataObj = new DataObject()
{
SomeObjects = { new object() },
};
Console.ReadKey();
}
}
创建dataOjb
显然失败,因为该SomeObjects
属性尚未实例化。我假设没有编译错误,因为DataObject
可能有一个实例化的构造函数SomeObjects
。鉴于此,如果我尝试执行以下操作:
List<int> SomeObjects;
SomeObjects = {1, 2, 3, 4};
这显然不起作用,也没有:
List<int> SomeObjects = new List<int>();
SomeObjects = {1, 2, 3, 4};
所以要解决我的实际问题,在第一个对象初始化程序中调用的是什么(我试过查找但找不到它),为什么它的行为不同,还有其他地方可以像这样使用吗?