望文生义,只读字段,就是说在程序运转过程中,程序中能够读取这个字段的值,而不能修改它的值。在C#中能够运用readonly关键词来界说一个只读字段。
在C#中运用只读字段主要有以下几个要点:
(1)只读字段能够在界说的同时赋值或许在类的结构办法中给其赋值;
(2)除了结构办法外,其他地方不能够修改只读字段的值;
(3)只读字段的特点只能有get访问器,不能有set,这是显而易见的;
只读字段与常量的区别
常量(运用const关键字界说)只能在声明的同时初始化(赋值)。
readonly字段能够在声明或结构函数中初始化。因此,根据所运用的结构函数,readonly字段或许具有不同的值。
readonly字段
只读字段运用举例:
classStudent
{
readonlystringstudentId;
stringstudentName;
publicStudent(stringsId)//在结构函数中初始化只读字段
{
this.studentId=sId;
}
publicStudent(stringsId,stringsName)//另外一个结构函数
{
studentId=sId;studentName=sName;
}
publicvoidPrintInfo()//一般办法
{
Console.WriteLine("学号:{0}",sId);
Console.WriteLine("名字:{0}",sName);
}
publicstringStudentId//特点
{
get{returnthis.sId;}
set{sId=value;}//错误,只读字段不能有set
}
}
从上面的比如中能够看出,在不同的实例中只读字段的值能够不同。也能够在多个结构函数中设置只读字段的值。