Skip to content
On this page

只读属性

在 C# 中,只读属性是一种特殊的属性,一旦它们被初始化,它们的值就不能再被修改。只读属性通常用于表示一个对象的某些固有属性,如长度、宽度、高度等。

csharp
public class Rectangle
{
    private readonly double width;
    private readonly double height;

    public Rectangle(double width, double height)
    {
        this.width = width;
        this.height = height;
    }

    public double Width { get { return width; } }
    public double Height { get { return height; } }

    public double Area { get { return width * height; } }
}

在这个例子中,我们定义了一个 Rectangle 类来表示矩形对象。它有两个只读属性,width 和 height,它们被用于存储矩形的宽度和高度。

这两个属性在类的构造函数中被初始化,然后它们的值就不能再被修改。

注意

只读属性的定义方式与普通属性相同,但它们使用了 readonly 关键字进行修饰。

此外,我们还定义了一个计算矩形面积的只读属性 Area,它通过访问 width 和 height 属性来计算矩形的面积。这个只读属性是通过读取其他只读属性的值来计算的,而不需要保存额外的状态。

只读属性的好处是它们可以提供对不可变对象的访问,从而增强代码的可读性和可靠性。只读属性还可以用于在类中公开常量值,从而避免了使用硬编码常量的问题。