use*_*494 1 parameters constructor field this keyword
我正在阅读Head First C#这本书(到目前为止它一直很顺利),但是我在使用"this"时所涉及的语法方面遇到了很多麻烦.关键词.
从概念上讲,我认为我应该使用它来避免参数掩码具有相同名称的字段,但是我通过他们的示例实际跟踪它时遇到了麻烦(同样,他们似乎没有专门的部分对于那个特定的关键字,他们只是解释它并开始在他们的例子中使用它).
在应用"this"时,有没有人有任何好的经验法则?或者任何在线教程以与Head First C#不同的方式解释它?
谢谢!
Jon*_*eet 11
就个人而言,我个人才会使用它:
构造函数链接:
public Foo(int x) : this(x, null)
{
}
public Foo(int x, string name)
{
...
}
Run Code Online (Sandbox Code Playgroud)从参数名称复制到字段(在Java中不像C#中那样常见,因为您通常使用属性 - 但在构造函数中很常见)
public void SetName(string name)
{
// Just "name = name" would be no-op; within this method,
// "name" refers to the parameter, not the field
this.name = name;
}
Run Code Online (Sandbox Code Playgroud)参考此对象,不涉及任何成员:
Console.WriteLine(this);
Run Code Online (Sandbox Code Playgroud)声明扩展方法:
public static TimeSpan Days(this int days)
{
return TimeSpan.FromDays(days);
}
Run Code Online (Sandbox Code Playgroud)其他一些人总是使用它(例如用于其他方法调用) - 我个人认为这会使事情变得混乱.