所以我几天前在Udemy上开始了关于C#的中级课程,导师正在谈论这个'这个'关键词。我知道它曾用于在类中引用变量等,而不是在函数中,但我觉得你仍然可以不使用它。让我举几个例子:
public Customer(int id, string name)
: this(id)
{
this.Name = name;
}
我觉得' this.Name '部分绝对没有必要,因为我只需输入' Name = name '教练在谈论有时候你会有类似的名字,而且只是为了确保你引用正确的变量,这样你就不会意外地输入' name = Name '或者类似的东西,我确信这对 ' '关键字。
答案 0 :(得分:2)
我在上面的例子中同意你的说法,this.Name = name是没有意义的,事实上大多数编译器都会给你一个警告,说明它没有必要。
关键不在于您可以使用相似的名称,但您可以使用完全相同的名称:
private string name;
public Customer(int id, string name) : this(id) {
this.name = name;
}
使name
拼写与类字段和局部变量完全相同的方法是有效的语法。默认情况下引用局部变量,因此当存在具有 exact 相同名称的局部变量时,this
存在引用类变量。因为否则没有其他方法可以引用它们。
答案 1 :(得分:2)
拥有CellAddress = "'" & Cell.Parent.Name & "'!" & Cell.Address(External:=False)
关键字的主要原因是,除了字段之外,还可以引用实例本身。例如,考虑visitor模式:
this