关于c#中readonly

  • Post category:other

在C#中,readonly关键字用于声明只读字段,这意味着该字段的值只能在声明时或在构造函数中初始化,之后不能再修改。以下是readonly关键字的完整攻略。

声明只读字段

可以使用readonly关键字声明只读字段。例如:

public class MyClass
{
    public readonly int myReadOnlyField;

    public MyClass(int value)
    {
        myReadOnlyField = value;
    }
}

在上述示例中,myReadOnlyField是只读字段,它的值只能在声明时或在构造函数中初始化。

只读属性

可以使用readonly关键字声明只读属性。例如:

public class MyClass
{
    private readonly int myReadOnlyProperty;

    public int MyReadOnlyProperty
    {
        get { return myReadOnlyProperty; }
    }

    public MyClass(int value)
    {
        myReadOnlyProperty = value;
    }
}

在上述示例中,MyReadOnlyProperty是只读属性,它的值只能在声明时或在构造函数中初始化。

示例1:只读字段

以下是一个只读字段的示例,它演示了如何在声明时初始化只读字段:

public class MyClass
{
    public readonly int myReadOnlyField = 10;

    public void PrintReadOnlyField()
    {
        Console.WriteLine("The value of myReadOnlyField is {0}", myReadOnlyField);
    }
}

在上述示例中,myReadOnlyField是只读字段,它的值在声明时初始化为10。PrintReadOnlyField方法打印myReadOnlyField的值。

示例2:只读属性

以下是一个只读属性的例,它演示了如何在构造函数中初始化只读属性:

public class MyClass
{
    private readonly int myReadOnlyProperty;

    public int MyReadOnlyProperty
    {
        get { return myReadOnlyProperty; }
    }

    public MyClass(int value)
    {
        myReadOnlyProperty = value;
    }

    public void PrintReadOnlyProperty()
    {
        Console.WriteLine("The value of MyReadOnlyProperty is {0}", MyReadOnlyProperty);
    }
}

在上述示例中,MyReadOnlyProperty是只读属性,它的值在构造函数中初始化。PrintReadOnlyProperty方法打印MyReadOnlyProperty的值。

总结

readonly关键字用于声明只读字段或只读属性,它们的值只能在声明时或在构造函数中初始化,之后不能再修改。只读字段和只读属性可以提高代码的可读性和安全性。