Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用默认构造函数初始化C类型#_C# - Fatal编程技术网

C# 使用默认构造函数初始化C类型#

C# 使用默认构造函数初始化C类型#,c#,C#,可能重复: 请问你这样做有什么好处吗 public class MyClass { List<string> list; public MyClass { list = new List<string>(); } } 公共类MyClass { 名单; 公共MyClass { 列表=新列表(); } } 这样做太过分了 public class MyClass { List<string> list = new List<

可能重复:

请问你这样做有什么好处吗

public class MyClass
{
  List<string> list;
  public MyClass
  {
     list = new List<string>();
  }
}
公共类MyClass
{
名单;
公共MyClass
{
列表=新列表();
}
}
这样做太过分了

public class MyClass
{
  List<string> list = new List<string>();
  public MyClass
  {

  }
}
公共类MyClass
{
列表=新列表();
公共MyClass
{
}
}

我想都一样。因此,构造函数比这些简单的情况更重要

在第一个示例中,当列表初始化时,您选择的正是构造函数。如果构造函数中有其他代码,则您负责将初始化定位在正确的位置


另外,如果类有一个基类,那么在初始化列表之前将调用基类构造函数

在第一个示例中,您选择的正是列表初始化的时间。如果构造函数中有其他代码,则您负责将初始化定位在正确的位置


另外,如果类有一个基类,那么在初始化列表之前将调用基类构造函数

首先,所有初始值设定项按从派生到基的顺序运行,然后所有构造函数按从基到派生的顺序运行


阅读Eric Lippert的文章。

首先所有初始值设定项按从派生到基的顺序运行,然后所有构造函数按从基到派生的顺序运行

阅读Eric Lippert的文章