如何在C#中为Point数据类型参数设置默认值而不为null



我在为Point数据类型的参数设置默认值时遇到问题。Point数据类型我初始化如下:

public class Point
{
private double x = 0, y = 0;
public Point(double x = 0, double y = 0)
{
this.x = x;
this.y = y;
}
}

然后我构建矩形类,如下所示:

public class Rectangle {
protected Point start = new Point();
private double width = 0, height = 0;
}  

但是我不能像这样构建矩形的constructor

public Rectangle(Point p = null , double w = 0, double h = 0)
{
this.start = p;
this.width = w;
this.height = h;
}

问题是矩形的起点会得到值null,但我不能为起点指定任何其他特定的值。我该怎么办?

private Point p {get; set;} = new();

这将创建一个名为p的属性,该属性的类型为Point。获取、设置和调用,使其成为您指定的任何值。结尾的new((是如果什么都不赋值就会发生的情况。变量的默认状态是一个新的Point((对象。显然,如果Point需要,可以在新构造函数中添加一些默认参数

相关内容

  • 没有找到相关文章

最新更新