有没有理由不使用"这个"("自我","我",......)?

Dan*_*ski 10 programming-languages multiple-languages

我读了这个答案及其评论,我很好奇:有没有理由不使用this/ Self/ Me

顺便说一句:如果之前有人询问过,我很抱歉,似乎无法this在SO上搜索这个词.

Jar*_*Par 9

警告:下面纯粹是主观的答案.

我认为不使用这个/ self/me的最好"理由"就是简洁.如果它已经是成员变量/函数,那么为什么要冗余地添加前缀?

我个人避免使用this/self/me,除非有必要消除编译器的特定表达式的歧义.许多人不同意这一点,但我从来没有把它作为我工作过的任何团体中的一个真正的难点.


Mar*_*ell 8

我认为已经引用的两个职位已涵盖大部分常见情况; 主要是简洁和冗余与清晰度 - 一个小小的补充:在C#中,需要使用"this"才能访问当前类型的"扩展方法" - 即

this.Foo();
Run Code Online (Sandbox Code Playgroud)

Foo()外部声明的位置为:

public static void Foo(this SomeType obj) {...}
Run Code Online (Sandbox Code Playgroud)


sin*_*e j 5

它在某些情况下澄清,如c#中的此示例:

public class SomeClass
{
    private string stringvar = "";

    public SomeClass(string stringvar)
    {
        this.stringvar = stringvar;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这将是重命名参数的一个原因;) (2认同)