C# 4.0 我们在.NET4.0或4.5中需要这个关键字吗

C# 4.0 我们在.NET4.0或4.5中需要这个关键字吗,c#-4.0,visual-studio-2012,C# 4.0,Visual Studio 2012,我目前正在审查visual studio 2012中用c#编写的代码 在很多地方,代码都是使用以下关键词编写的,例如: this.pnlPhoneBasicDtls.Visible = true; this.SetPhAggStats(oStats); 还有许多其他地方使用此关键字引用页面控件 有人能建议我们真的需要用这个吗? 删除这个关键字有什么后果吗 提前感谢。否,“此”是可选的。它通常包含在工具生成的代码中,也包含在那些认为需要显式表达或希望将其与方法的参数区分开来的人生成的代码中。否,

我目前正在审查visual studio 2012中用c#编写的代码

在很多地方,代码都是使用以下关键词编写的,例如:

this.pnlPhoneBasicDtls.Visible = true;
this.SetPhAggStats(oStats);
还有许多其他地方使用此关键字引用页面控件

有人能建议我们真的需要用这个吗? 删除这个关键字有什么后果吗


提前感谢。

否,“此”是可选的。它通常包含在工具生成的代码中,也包含在那些认为需要显式表达或希望将其与方法的参数区分开来的人生成的代码中。

否,“this”是可选的。它通常包含在工具生成的代码中,也包含在那些认为需要显式表达或希望将其与方法的参数区分开来的人生成的代码中。

它是可选的,您可以使用

Property directly like   pnlPhoneBasicDtls.Visible = true;

它是可选的,您可以使用

Property directly like   pnlPhoneBasicDtls.Visible = true;

这个
关键字通常是可选的

如果两个参数使用相同的名称,它有时用于消除字段与参数之间的歧义,例如:

void Main()
{
    var sc = new SomeClass();
    sc.SomeMethod(123);
    Console.WriteLine(sc.thing);
}

public class SomeClass
{
    public int thing;

    public void SomeMethod(int thing)
    {
        this.thing = thing + 1;
    }
}
在上面的例子中,它确实起了作用。在
SomeMethod
中,
this.thing
指的是字段,
thing
指的是参数

(请注意,更简单的赋值
thing=thing
被选为编译器错误,因为它是一个no-op。)


当然,如果您使用ReSharper,那么任何不必要的
this.
(以及未使用的
using
语句、无法访问的代码等)都将变灰,您可以非常快速地删除它们。类似的工具,如CodeRush,可能也是如此。

此关键字通常是可选的

如果两个参数使用相同的名称,它有时用于消除字段与参数之间的歧义,例如:

void Main()
{
    var sc = new SomeClass();
    sc.SomeMethod(123);
    Console.WriteLine(sc.thing);
}

public class SomeClass
{
    public int thing;

    public void SomeMethod(int thing)
    {
        this.thing = thing + 1;
    }
}
在上面的例子中,它确实起了作用。在
SomeMethod
中,
this.thing
指的是字段,
thing
指的是参数

(请注意,更简单的赋值
thing=thing
被选为编译器错误,因为它是一个no-op。)

当然,如果您使用ReSharper,那么任何不必要的
this.
(以及未使用的
using
语句、无法访问的代码等)都将变灰,您可以非常快速地删除它们。类似的工具如CodeRush可能也是如此