C#中,“this”关键字是必须的吗?在以下构造函数中,是否需要“this”关键字?我知道我可以删除它,它符合要求,一切都很好。如果我省略“这个”会不会给我带来麻烦?“这”被认为是不好的做法吗?//构造函数:publicEmployee(stringname,stringalias){//使用它来限定字段、名称和别名:this.name=name;this.alias=别名;不,这几乎在所有情况下都是可选的。在您的示例中需要它的唯一原因是消除局部变量和参数之间的歧义,以及恰好具有相同标识符名称的成员变量。您可以通过将参数或字段重命名为唯一的名称来避免使用它。是的,您的代码示例中需要它。C#将始终假定您指的是局部变量,因此如果存在同名的成员变量和局部变量,则必须使用this,否则它会假定您指的是局部变量。在您的代码示例中,如果您省略了这一点,您实际上是在将名称(或别名)的值分配给它自己(因此无法完成任何事情)。在以下情况下,这是绝对必要的。但是您可以通过仔细选择变量名来绕过它。以我的拙见,下面的示例没有任何问题,我不介意使用它。事实上,即使在我的IDE中不需要提示智能感知和自动完成时,我也经常使用它。内部类Something{私有字符串名称;publicSomething(stringname){this.name=name;它是可选的,除非你有一个名为'name'的成员变量,在这种情况下你的行将被分配给它自己。为了清楚起见,我总是喜欢使用“this”来访问所有成员变量。有些人喜欢用“_”作为前缀,甚至是“m”。在C#中,最常见的命名方式是将私有变量命名为_Name或m_Name。这也使得在视觉上匹配属性变得容易,因为如果你有一个使用局部私有变量_Name的属性Name,很容易看出它的用途。在示例中没有this关键字,您所做的只是将局部变量分配给局部变量(而不是私有变量)。这就是为什么它编译,但不做你认为它正在做的事情。在你的例子中,如果你不使用“this”,会发生更糟糕的事情:“变量隐藏”以上是C#学习教程:在C#中,“this”关键字是必要的吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
