C# this. 是什么意思

public Rectangular(double d)
{
this.width = d;
this.height = d;
}
public Rectangular(double width, double height)
{
this.width = width;
this.height = height;
}
就是这里面的this 有什么用的啊

幕布斯6054654
浏览 1439回答 2
2回答

千巷猫影

就是指代当前的对象,public Rectangular(double d){this.width = d;this.height = d;}这个this就是指当前这个Rectangular。这样在你实例化这个类的时候,调用不同的Rectangular的width和height属性就互不影响了。追问是不是这样写的话 上下两个的 width和height 就是两个东西啊 如果不这样写就是上下两个函数里的是同一个啊 为什么我删掉第一个函数里的this不影响运行结果 但删去第二个函数的就影响追答构造函数如果参数一样,那样就会出错的,只能删除一个或者修改参数。 删掉第一个函数里的this不影响运行结果 但删去第二个函数的就影响,应该是你实例化的时候调用的是第二个构造函数,就是类似这样的 Rectangular  rectangular  =new  Rectangular (2.5,3.6);追问下面是这样的我删了第一个this运行结果一样删了第2个运行结果就变成Area  of  rec2  is  0追答应该是没有影响的     可能是GetArea方法的问题 这是我的  public double GetArea()         {             return width * height;         } 我的运行过了是没有影响的

开满天机

因为构造函数的参数和对象的属性是同名的,如果你在第二个函数中删除了this,那就产生了歧义了,程序认为等号左边的width和height仍然是参数。只有加了this.以后,程序才能明白你是要给对象属性赋值。
打开App,查看更多内容
随时随地看视频慕课网APP