C#使用此

C#使用此,c#,C#,有人能解释一下:这个(123)在构造函数中是什么意思吗 public class MyObject { public MyObject(): this(123) { } ............ } 因为您的类有另一个构造函数,它将andint作为参数 public class MyObject { public MyObject() : this(123) { } public MyObject(i

有人能解释一下
:这个(123)
在构造函数中是什么意思吗

public class MyObject
{      
    public MyObject(): this(123)
    {
    }
    ............
}

因为您的类有另一个构造函数,它将and
int
作为参数

public class MyObject
{
    public MyObject()
        : this(123)
    {
    }

    public MyObject(int x) //something like this
    {
    }
}
见:

构造函数可以通过以下方式调用同一对象中的另一个构造函数: 使用
关键字


这意味着您正在调用另一个具有固定值“123”的构造函数:


意思是:无论何时调用
newmyobject()
,不带任何参数,它都等于调用
newmyobject(123)

这意味着“在执行花括号之间的内容之前,使用参数执行合适的构造函数
123

提供的语法用于“构造函数链接”,其中指定的构造函数(接受整数参数)在当前构造函数的主体之前调用。

这用于从同一类中的另一个构造函数调用一个构造函数。 请参阅本文以获得更好的理解


您有另一个接受int的构造函数(认为它可以是long或double,或者int可以隐式转换为的任何其他内容)


您是否有
MyObject(int variable){}
构造函数?您可以阅读有关构造函数的内容,为什么不使用调试器逐步检查代码以了解它的功能?是吗?我们已经有了一些可能对您有用的答案。请看,在底部附近,它说:构造函数可以使用
this
关键字调用同一对象中的另一个构造函数。。。“它等于调用新的MyObject(123);”不完全是。。默认构造函数中可能存在其他构造函数中未执行的内容
public class MyObject
{      
    public MyObject(): this(123)
    {

    }

    public MyObject(int number)
    {

    }
}   
    public class MyObject
    {      
       public MyObject(): this(123)
       {
       }

       public MyObject(int num)
       {
          //do something with the num
       }
   }