望文生义,只读字段,就是说在程序运转过程当中,程序中可以读取这个字段的值,而不能修改它的值。在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
}
}
从上面的好比中可以看出,在不一样的实例中只读字段的值可以不一样。也可以在多个结构函数中设置只读字段的值。函数