什么是C#代码:

mun*_*nna 3 c# constructor-chaining

在以下代码中:

public class A
{
public A():this(null){}
public A(string b){/*code here*/}
}
Run Code Online (Sandbox Code Playgroud)

第一个构造函数有什么用?

Geo*_*off 26

第一个构造函数传递null给第二个构造函数的参数b.

因此,如果你打电话new A(),它将与呼叫相同new A(null)

  • 正确的术语是"构造链接" (6认同)
  • 确切地说,定义多个构造函数是构造函数重载,并且让那些构造函数相互调用是构造函数链接.调用另一个构造函数的代码,例如`this()`或`base(foo)`,被称为构造函数初始化程序. (6认同)

Sve*_*lov 5

当你有一个带参数的构造函数时

public A(string b){ /* code here */ }

public A():this("") { }  //default
Run Code Online (Sandbox Code Playgroud)

默认构造函数实际上使用""作为参数调用"参数构造函数".您正在传递参数.这样做是为了避免两次编写相同的代码