我读了这个答案及其评论,我很好奇:有没有理由不使用this
/ Self
/ Me
?
顺便说一句:如果之前有人询问过,我很抱歉,似乎无法this
在SO上搜索这个词.
警告:下面纯粹是主观的答案.
我认为不使用这个/ self/me的最好"理由"就是简洁.如果它已经是成员变量/函数,那么为什么要冗余地添加前缀?
我个人避免使用this/self/me,除非有必要消除编译器的特定表达式的歧义.许多人不同意这一点,但我从来没有把它作为我工作过的任何团体中的一个真正的难点.
我认为已经引用的两个职位已涵盖大部分常见情况; 主要是简洁和冗余与清晰度 - 一个小小的补充:在C#中,需要使用"this"才能访问当前类型的"扩展方法" - 即
this.Foo();
在Foo()
外部声明的位置为:
public static void Foo(this SomeType obj) {...}
它在某些情况下澄清,如c#中的此示例:
public class SomeClass { private string stringvar = ""; public SomeClass(string stringvar) { this.stringvar = stringvar; } }