c# - 在 C# 中处理窗体上的控件时何时使用 THIS 关键字

标签 c# .net winforms this-pointer

我距离精通C#还有很长的路要走,但我内心的 child 在插入我不断改进我的编程。
当我制作 WinForms 应用程序时,我想实用地更改和使用大量控件。
我不明白什么时候需要使用 this.control 关键字,什么时候应该只使用 control
示例:
如果我想更改标签的文本,我可以写

mylabel.text = "Text for label"

this.mylabel.tex = "Text for label"

哪一个是正确的方法?在WinForms中使用控件(如datagrid、text、tables等)时,什么时候使用this关键字有简单的解释吗?

最佳答案

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

使用“this”的一个原因是如果您需要解决歧义。 “this”使您可以明确访问某个类的成员。这是一个例子:

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

   private int number;
}

在此示例中,您必须使用“this”来引用类成员“number”,并为其分配具有相同名称(“number”)的传入参数中的值。

当然,最好有一个命名约定来防止这种情况发生。我倾向于在私有(private)成员数据(即 _number)前加下划线。

关于c# - 在 C# 中处理窗体上的控件时何时使用 THIS 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428459/

相关文章:

c# - CefSharp网页元素点击

c# - 将 Enum 转换为 uint

c# - 如何 "Free"一个线程

c# - WinForm 设置未保存

c# - 在 DataGridView 中使用自定义控件

c# - listview:获取子项文本

c# - Azure 上的 NHibernate?

c# - 异步EF 6.0比同步花费的时间更长

c# - 在 C# 中调用扩展方法的不同方式

c# - 为 GeckoFX 网络浏览器设置 cookies?