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

 

在C#中可以使用readonly关键词来定义一个只读字段。

只读字段主要有以下几个要点:

  • 只读字段可以在定义的同时赋值或者在类的构造方法中给其赋值;
  • 除了构造方法外,其他地方不可以修改只读字段的值;
  • 只读字段的属性只能有get访问器,不能有set,这是显而易见的。

只读字段与常量的区别

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

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
    }
}
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花