望文生義,只讀字段,就是說在程序運轉過程中,程序中能夠讀取這個字段的值,而不能修改它的值。在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
}
}
從上面的比如中能夠看出,在不同的實例中只讀字段的值能夠不同。也能夠在多個結構函數中設置只讀字段的值。