伙计们,我刚开始学习 C#,我不知道 C# 中的“this”引用有人可以在现实生活中给我一个非常简单的例子。我的意思是为什么我需要在 C# 中使用“this”或者我在哪里可以使用“this”有什么好处?
谢谢。
伙计们,我刚开始学习 C#,我不知道 C# 中的“this”引用有人可以在现实生活中给我一个非常简单的例子。我的意思是为什么我需要在 C# 中使用“this”或者我在哪里可以使用“this”有什么好处?
谢谢。
一个很好的例子是当你有一个带有字段的类和一个带有同名参数的构造函数时。使用“this”,您可以为字段分配参数名称。还有其他的歧义,这可以沿着同一条线解决。
public class MyClass
{
private int foobar;
public MyClass(int foobar)
{
this.foobar = foobar;
}
}
this 关键字消除了构造函数具有唯一变量名的需要。
通常,您已经很好地命名了一个变量并为构造函数拥有一个唯一的名称,您要么必须想出一个新名称,要么以其他方式破坏您拥有的好名称。
此外,它允许您将局部变量和实例变量命名为相同的名称,并且可以使用您想要的名称。
例如:
public class Foo
{
//instance variable
private String myVar;
public Foo(String myVar)
{
this.myVar = myVar;
}
public void someFunc()
{
String myVar = "Hello";// local variable
this.myVar = "World";//instance variable
Console.WriteLine(myVar + this.myVar);//prints HelloWorld
}
}
在 C++ 中,“this”是一个指针,因此您需要使用“->”运算符来引用成员。