是否不需要对c#类中的变量使用`this.`关键字?

时间:2020-04-22 14:22:51

标签: c#

facade

在C#中,有静态变量和实例变量的概念。

所有实例共享静态变量。

在上面的代码快照中,创建了一个实例字段_bigClass。在构造函数和其他方法中,将对其进行实例化并调用其方法。我的问题是-为什么用户未使用this. _ bigClass?我正在尝试了解是否不需要使用this.关键字来访问c#类中的变量?

2 个答案:

答案 0 :(得分:3)

在您的情况下,由于该变量未标记为static,因此不是必需的,编译器可以识别出它是实例成员,而不是静态成员。

在其他情况下,实例变量和构造函数变量名称相同,则可以使用this明确指定实例成员,例如

public ClassA(int x, int y)
{
    this.x = x;
    this.y = y;
}   

答案 1 :(得分:2)

仅仅是因为您不需要。

如果有一个成员_bigClass(并且没有名称会对其“阴影化”的局部变量_bigClass),那么只需编写_bigClass就可以了。

this._bigClass就是一样。

就是这样。