C#相当于Java实例初始化程序

max*_*yfc 8 c# java

Java实例变量可通过初始化块被初始化,如下所示:

class Example {
    private int varOne;
    private int varTwo;

    {
        // Instance Initializer
        varOne = 42;
        varTwo = 256;
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有等效的结构C#

[编辑]我知道这可以与实例变量声明一致.但是,我正在寻找类似于静态构造函数的东西,C#但是例如变量.

lms*_*asu 7

创建一个实例构造函数,任何其他本地构造函数将在初始化列表中调用:

private Example ()
{
    //initialize all fields here
}

public Example (/*list of parameters*/) : this()
{
    //do specific work here
}
Run Code Online (Sandbox Code Playgroud)

如果应用程序的逻辑已经需要默认构造函数,那么就停止

private Example ()
Run Code Online (Sandbox Code Playgroud)

private Example (object dummy)
Run Code Online (Sandbox Code Playgroud)

当然,相应地修改了启动呼叫.


Jar*_*Par 5

在C#中确实没有等价物.C#只有两种方法来初始化实例变量

  1. 在构造函数中
  2. 通过在它的声明点显式初始化变量

在创建对象之后但在构造函数运行之前,无法进行初始化.