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