我们都知道这this是指一个类的实际实例......但在我看来,大多数人并没有使用它.那么,我应该使用它吗?
我对它的看法如下:由于this引用了类的实际实例,它应该用于访问该类的任何成员.
public void(String newValue) {
this.privateVariable = newValue;
}
Run Code Online (Sandbox Code Playgroud)
这应该保证该值不会分配给范围内具有相同名称的对象(无论如何,这也可能最终成为未定义的行为).但是,如果使用下划线将私有字段与非私有字段分开,该怎么办:
public voud(String newValue) {
_privateVariable = newValue;
}
Run Code Online (Sandbox Code Playgroud)
this 在这种情况下似乎有点多余和不必要.
那么,是否有充分的理由使用或不使用this?或者我只是绞尽脑汁想要什么?
就个人而言,我只在必要时使用它,例如
public MyClass(string name)
{
this.name = name;
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢从最自然的名称重命名参数或字段.我不会this在不需要的地方使用它.话虽如此,但绝对没有害处这样做-如果你觉得它使你的代码更清晰,这是一个很好的理由去使用它.
没有人提到如果要求是制作符合StyleCop的代码并且不违反可读性规则SA1101 ,则必须使用 this.根据文件,
只要代码包含对本地类的实例成员的调用或没有以"this"为前缀的基类,就会违反此规则.
此外,在我看来,this即使对于非StyleCop兼容的源代码,也必须鼓励使用关键字,因为指定会this增加可读性并降低本地(方法范围)和类(对象范围)变量之间混合的风险.
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |