这是.' 一个有用的属性?

Jen*_*rik 0 c# asp.net properties

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

谢谢

Jon*_*eet 8

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

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

我个人只用它当资格要求为消除歧义,如

public Person(string name)
{
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

    public int CountDistinct()
    {
        return this.Distinct().Count(); // this is required here
    }
}
Run Code Online (Sandbox Code Playgroud)