在C#中使用表单上的控件时何时使用THIS关键字

ado*_*lot 5 .net c# this-pointer winforms

我仍然远离掌握C#,但我的孩子正在推动我每天继续改进我的编程.
当我创建一个WinForms应用程序时,我想要实际更改并使用大量控件.
我不明白的是当我需要使用this.control关键字时,我应该只使用control.
示例:
如果我想更改标签的文字,我可以写

mylabel.text = "Text for label"
Run Code Online (Sandbox Code Playgroud)

要么

this.mylabel.tex = "Text for label"
Run Code Online (Sandbox Code Playgroud)

以下哪一种是正确的方法?this在WinForms中使用控件时(例如数据网格,文本,表格等),何时使用关键字有一个简单的解释?

sid*_*guy 7

在这种情况下,这两行都是"正确的".但是,这里不需要使用"this".

使用"this"的一个原因是,如果您需要解决歧义."this"为您提供了对班级成员的明确访问权限.这是一个例子:

class Test
{
   public void SetNumber(int number)
   {
      this.number = number;
   }

   private int number;
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,必须使用"this"来引用类成员"number",并为其赋予传入的参数中具有相同名称("number")的值.

当然,最好有一个阻止这种情况的命名约定.我倾向于在私有成员数据(即._number)前加上下划线.


Kir*_*oll 5

当您在字段/属性和局部变量之间进行分层时,这是非常必要的.其他人更喜欢在其他地方使用它,但这是一种风格决定.