105年高考三級程式語言
四、請回答以下問題: (一)請描述 C# 程式語言中關鍵字 const 之功用。(10分) (二)請比較 C# 程式語言中關鍵字 const 與 readonly 差異。(10分) |
答:
(一)C#程式語言中const的功用
可以使用 const 關鍵字來宣告常數欄位或區域常數。常數欄位和區域常數不是變數,可能無法修改。常數可以是數值、布林值、字串或 null 參考。例如:
const int x = 0;
public const double dConstant = 6.673e-11;
private const string productName = "Visual C#";
上述範例的 x, dConstant, productName 無法修改。
※參考資料:https://msdn.microsoft.com/zh-tw/library/e6w8fe1b.aspx
(二)C#程式語言中const與readonly的差異
|
const |
readonly |
初始化 |
僅可以在該欄位宣告時初始化 |
可以在宣告或是在建構函式中初始化,會根據使用的建構函式而產生不同值 |
資料型態 |
僅能用於數字和字串 |
可以是任意型態 |
功能 |
編譯時期常數 |
可當做執行階段常數使用 |
存取方式 |
透過類別名稱 |
透過實例名稱 |
執行效率 |
較佳 |
較差 |
靈活性及方便性 |
較差 |
較佳 |
※參考資料:
1.https://msdn.microsoft.com/zh-tw/library/acdd6hb7.aspx
2.http://www.codeproject.com/Tips/803656/Practical-Difference-between-Const-ReadOnly
3.https://dotblogs.com.tw/yc421206/archive/2011/06/06/27232.aspx
留言列表