c#正在添加"这个"类方法中的可选项

时间:2012-07-21 16:01:56

标签: c#

我有一个类似于这样的对象:

public class SomeObject
{
   int SomeInt { get; set; }

   public void SomeMethod()
   {
       var SomeVar = this.SomeInt;
       var SomeVar2 = SomeInt;
   }
}

当我在类方法中引用类属性时,如果我写this.SomeInt而不是SomeInt,那么它会使代码更好/更快/更安全吗,就像我分配{{}时一样1}}?

感谢您的建议。

4 个答案:

答案 0 :(得分:3)

它不会影响输出,因为MSIL是相同的。

如果您没有任何类变量与局部变量不同的变量命名约定,我“可能”会更安全。

答案 1 :(得分:2)

使用“this”。不会改变代码的生成方式。因此,性能和安全性不受影响。你是否包括“这个”。当你不需要时,是一种风格问题。一些风格指南建议使用“this”。总是在会员身上。

答案 2 :(得分:2)

有些时候你可能需要添加'this'就是你在同一范围内有一个局部范围变量(Resharper或VS,我忘了它应该通知你),如:

string name;
void SetName(string name)
{
     this.name = name;
}

或者,如果您出于某种原因从另一个派生构造函数:

public void Person(string Name, int age) : this(age)
{
}
public void Person(int age)
{
}

否则,它对编译没有任何影响,但我仍偶尔使用它来明确区分字段和参数,当它们可能混淆等等时。

答案 3 :(得分:0)

在编译时没有任何区别。上面提到的很少,它使您的代码更具可读性,但我认为这只是访问类变量的另一种方式。