Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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#_Constructor_Static Constructor - Fatal编程技术网

C#实例构造函数与静态构造函数

C#实例构造函数与静态构造函数,c#,constructor,static-constructor,C#,Constructor,Static Constructor,两者之间有什么区别?我只使用过一种构造函数,我相信它是静态构造函数。只有熟悉C++和java。< /p> < p>静态构造函数被称为第一次引用类,即 MyClass.SomeStaticMethod() 每次执行“MyClass dummy=new MyClass()”即创建类的实例时,都会调用实例构造函数 语义上,当您希望确保在访问某个静态状态之前对其进行初始化时,可以使用第一个静态构造函数,而另一个静态构造函数用于初始化实例成员。对于类的所有实例或使用,静态构造函数只运行一次。它将在您第一

两者之间有什么区别?我只使用过一种构造函数,我相信它是静态构造函数。只有熟悉C++和java。< /p> < p>静态构造函数被称为第一次引用类,即

MyClass.SomeStaticMethod()
每次执行“
MyClass dummy=new MyClass()
”即创建类的实例时,都会调用实例构造函数


语义上,当您希望确保在访问某个静态状态之前对其进行初始化时,可以使用第一个静态构造函数,而另一个静态构造函数用于初始化实例成员。

对于类的所有实例或使用,静态构造函数只运行一次。它将在您第一次使用该类时运行。普通构造函数在实例化类的对象时运行


您需要了解的关于静态构造函数的所有信息都可以在这里找到:

静态构造函数允许您在类中初始化静态变量,或者在代码中首次引用类后在类中执行其他需要执行的操作。每次程序运行时,它们只被调用一次

静态构造函数是使用此语法声明的,不能重载或具有任何参数,因为它们在类被其名称引用时运行:

static MyClass()
{
}
实例构造函数是在创建新对象(类的实例)时调用的构造函数。它们也是Java和大多数其他面向对象语言中通常使用的

您可以使用这些属性为新对象提供其初始状态。这些可以重载,并且可以采用以下参数:

public MyClass(int someNumber) : this(someNumber, 0) {}

public MyClass(int someNumber, int someOtherNumber)
{
    this.someNumber = someNumber;
    this.someOtherNumber = someOtherNumber;
}
呼叫代码:

MyClass myObject = new MyClass(100, 5);