只是按照一些教程(http://www.techotopia.com/index.php/Hiding_and_Showing_Forms_in_C_Sharp) 其中说:
如前一节所述,为了从显示和内存中删除表单,有必要关闭而不是隐藏它。在 Visual Studio 中,再次双击子窗体中的按钮以查看 Click 事件过程。再一次,因为按钮在我们要关闭的表单中,所以我们需要在调用 Close() 方法时使用 this 而不是 subForm:
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
我仍然不明白为什么要在这里使用 this.Close()
,而不是仅仅使用 Close()
?
(上面关于 Hide()
方法的说法很相似)。
最佳答案
在这种情况下,this
实际上可以省略。 this
表示“类的当前实例”。在某些情况下 this
是必需的,例如当实例变量与局部变量同名时。在这种情况下,this
必须用于访问实例变量而不是本地变量。
例子:
public class Test
{
private int i;
public Test(int i)
{
this.i = i; // Sets the instance variable
i = 1; // Sets the local variable
}
}
编辑:Marc Gravell 正确地提到了仅在实例上起作用的扩展方法。因此,要在类的当前实例上调用某些方法,您也必须使用 this
。
关于c# - 为什么需要使用 "this"(有些啧啧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23671747/