所以我正在使用“ Murach的C#2015”教科书学习C#。在411页的第13章中,有以下代码:
public class ProductList
{
private List<Product> products;
public ProductList()
{
products = new List<Product>();
}
因此第一行“公共类ProductList”声明了一个类
[第二行“私有列表产品”;声明一个类变量(即:“字段”)...在这种情况下是一个列表...我不明白这一点?到目前为止,我所学到的是清单是这样初始化的:
private List<Product> products = new List<Product>();
有人可以向我解释吗?这就是列表始终执行的方式吗?还是这只短手?还有其他方法吗?
我知道代码的下一部分是构造函数,即:
public ProductList()
{
products = new List<Product>();
}
而且我在这里看到了我经常用来查看列表的“新”关键字。
private List<Product> products;
这将声明该字段。即告诉编译器该类包含此类型的字段。除非完成其他操作,否则它将为该类型分配默认值(在这种情况下,即为null)。
private List<Product> products = new List<Product>();
这是声明和初始化的组合。它与上述操作相同,但是还为该字段分配了一个新构造的对象。在您的情况下,这些示例是等效的。但是考虑
public ProductList(int capacity)
{
products = new List<Product>(capacity);
}
在这里,我们必须拆分声明和初始化,因为我们需要一些参数来进行初始化。