0

找不到任何关于它的文章。所以..正在使用'* this。*Chart1..' 在 asp.net、c# 中有用吗?任何时间节省或为什么以及何时应该使用它?

谢谢

4

2 回答 2

8

它根本不是特定于 ASP.NET 的。它只是 C# 的一部分。

有些人建议您应该始终使用它来指示您指的是实例成员,而不是静态成员或局部变量。

就我个人而言,我仅在需要消除歧义时才使用它,例如

public Person(string name)
{
    this.name = name;
}

假设您处于不影响代码含义的情况(即您没有消除歧义),它对生成的 IL 绝对没有影响,因此不会对性能造成损害或好处。

请注意,在您想要在当前对象上调用扩展方法的极少数情况下,您也需要使用this。例如:

public class Foo<T> : IEnumerable<T>
{
    // Implementation omitted

    public int CountDistinct()
    {
        return this.Distinct().Count(); // this is required here
    }
}
于 2012-11-06T07:07:49.223 回答
2

根据 MSDN, 的三种常见用途this

  • 限定被相似名称隐藏的成员。
  • 将对象作为参数传递给其他方法
  • 声明索引器

有关示例,请参阅文档

于 2012-11-06T07:10:41.657 回答