c# 结构体默认参数
时间: 2025-01-13 22:54:22 浏览: 37
### C# 结构体中的默认参数
在 C# 中,结构体(`struct`)是一种值类型,不允许含有无参构造函数以外的其他形式的构造函数来设置默认参数。然而,可以通过定义带有可选参数的构造函数或使用属性初始化器的方式来实现类似的效果。
#### 使用带可选参数的构造函数
通过定义具有可选参数的构造函数,可以在创建结构体实例时不传递这些参数,默认情况下会采用指定的初始值:
```csharp
public struct Point {
public int X;
public int Y;
// 构造函数中设置了X和Y的默认值
public Point(int x = 0, int y = 0) {
this.X = x;
this.Y = y;
}
}
```
这样,在声明 `Point` 类型变量时可以选择不提供任何参数[^1]。
#### 利用字段初始化表达式
另一种方法是在定义结构体内成员的同时为其赋予初值:
```csharp
public struct Rectangle {
private readonly double _width = 1.0; // 默认宽度为1单位长度
private readonly double _height = 1.0; // 默认高度同样设为1单位长度
public double Width => _width;
public double Height => _height;
// 可以为只读字段提供公共访问器以便外部获取当前尺寸信息
}
```
这种方式下即使没有任何显式的构造逻辑存在,当新对象被实例化之后也会自动获得预设定好的数值作为其状态的一部分。
阅读全文
相关推荐


















