正如标题所说,VisualStudio 17(15.7.1)建议删除"不必要的"根据我的理解,这实际上很重要。
让我们说我们有以下简约类:
class ThisExampleClass
{
public int ThisTest1 { get; set; }
public int ThisTest2 { get; set; }
public ThisExampleClass()
{ }
public ThisExampleClass(int ThisTest1, int ThisTest2)
{
this.ThisTest1 = ThisTest1;
this.ThisTest2 = ThisTest2;
}
}
到目前为止一切顺利。但是,如果我编写以下代码行,VisualStudio 17建议删除此关键字。
class ThisExampleShowcase
{
private int ThisTest1;
private int ThisTest2;
public ThisExampleShowcase()
{ }
public void ShowQuestion()
{
ThisTest1 = 10;
ThisTest2 = 11;
var ThisTest = new ThisExampleClass()
{
ThisTest1 = this.ThisTest1, // delete this.
ThisTest2 = this.ThisTest2 // delete this.
//ThisTest2 = ThisTest2 Suggested but seems wrong
};
}
}
编译器是否知道要分配哪个ThisTest? 据我所知,这可能会影响变量,但即使你删除了"这个。"一切似乎都没问题。
C#和.NET是否会自动采用"这个。"在这种情况下右侧变量的含义是什么?
答案 0 :(得分:3)
编译器是否知道要分配哪个ThisTest?
是。在这种情况下,您无法在分配中使用新创建的对象中的属性,因此只有一个Example record: 1507656308.
。
C#和.NET是否会自动采用"这个。"在这种情况下右侧变量的含义是什么?
没有。这种情况是特别的,因为左侧是属性赋值。在常规任务中,它可能含糊不清。