声明列表字段和C#中用户定义的类中的构造函数

问题描述 投票:0回答:1

所以我正在使用“ 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>();
    }

而且我在这里看到了我经常用来查看列表的“新”关键字。

c# list class constructor field
1个回答
0
投票
private List<Product> products;

这将声明该字段。即告诉编译器该类包含此类型的字段。除非完成其他操作,否则它将为该类型分配默认值(在这种情况下,即为null)。

private List<Product> products = new List<Product>();

这是声明和初始化的组合。它与上述操作相同,但是还为该字段分配了一个新构造的对象。在您的情况下,这些示例是等效的。但是考虑

public ProductList(int capacity)
{
    products = new List<Product>(capacity);
}

在这里,我们必须拆分声明和初始化,因为我们需要一些参数来进行初始化。

© www.soinside.com 2019 - 2024. All rights reserved.