new()分配给财产时到底意味着什么?我发现了一些new在方法调用中查看用法的示例,但与下面的不同。
public ObservableCollection<Customer> Customers { get; } = new();
它是目标类型的new,本质上它将创建一个操作数左侧的对象。
对于自动属性的情况,它将将该属性类型的新实例分配给该属性。
因此,如果我们去掉所有语法糖,你基本上得到的是:
private ObservableCollection<Customer> _customers = new ObservableCollection<Customer>();
public ObservableCollection<Customer> Customers
{
get
{
return _customers;
}
}
Run Code Online (Sandbox Code Playgroud)
new顺便说一句,您几乎可以在任何有众所周知类型的地方使用目标类型,而不仅仅是在自动属性上。