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
}
}