我需要两个新的列表<;ParentDetail>;()构造函数
本文关键字:lt ParentDetail 构造函数 gt 列表 两个 | 更新日期: 2023-09-27 18:00:15
我有一个名为Parent的类。它包含ParentDetail类的列表:
public class Parent
{
public Parent()
{
this._parentDetails = new List<ParentDetail>();
}
public IList<ParentDetail> ParentDetails
{
get { return _parentDetails; }
}
private List<ParentDetail> _parentDetails = new List<ParentDetail>();
}
public class ParentDetail
{
public string FileName { get; set; }
}
这个类似乎可以工作,但我不明白为什么"=new List();"会出现两次。有人能用几行字解释一下发生了什么吗?
我需要两个新的List()吗建设者?
不,其中一个就足够了——创建两个永远不会使用的实例是多余的。
这是不需要的冗余。其中任何一个都可以删除。
这个怎么样
private List<ParentDetail> _parentDetails;
public Parent()
{
this._parentDetails = new List<ParentDetail>();
}
很好的解释这里
它不必,也不应该。在这种情况下,CCD_ 1被初始化两次。
在这种情况下,这两项任务是等效的。值得一提的是,我更喜欢在默认构造函数中初始化,而不是在字段/成员声明中初始化。
我认为不需要内联创建new List<ParentDetail>();
,因为它已经在构造函数中完成了。。或者,您可以将构造函数作为一个整体删除。。。
内联代码在编译时会创建一个默认构造函数,并在构造函数中移动该段代码。