首页 > 编程 > C# > 正文

C#中只读(readonly)字段的使用

2023-05-02 19:48:18
字体:
来源:转载
供稿:网友

顾名思义,只读字段,就是说在程序运行过程中,程序中可以读取这个字段的值,而不能修改它的值。在C#中可以使用readonly关键词来定义一个只读字段。

在C#中使用只读字段主要有以下几个要点

(1)只读字段可以在定义的同时赋值或者在类的构造方法中给其赋值;

(2)除了构造方法外,其他地方不可以修改只读字段的值;

(3)只读字段的属性只能有get访问器,不能有set,这是显而易见的;

只读字段与常量的区别

常量(使用const关键字定义)只能在声明的同时初始化(赋值)。

readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数,readonly 字段可能具有不同的值。

readonly字段

只读字段使用举例:

class Student
{
    readonly string studentId;
    string studentName;

    public Student(string sId)    //在构造函数中初始化只读字段
    {
        this.studentId = sId;
    }

    public Student(string sId, string sName)   //另外一个构造函数
    {
        studentId = sId; studentName = sName;
    }

    public void PrintInfo()   //普通方法
    {
        Console.WriteLine("学号:{0}", sId);
        Console.WriteLine("姓名:{0}", sName);
    }

    public string StudentId    //属性
    {
        get{ return this.sId;}
        set{ sId = value;}  //错误,只读字段不能有set
    }
}

从上面的例子中可以看出,在不同的实例中只读字段的值可以不同。也可以在多个构造函数中设置只读字段的值。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表