概述:在C#中,const和readonly都用于創(chuàng)建常量,但它們有區(qū)別。const用于編譯時(shí)常量,值在聲明時(shí)確定;readonly用于運(yùn)行時(shí)常量,值在構(gòu)造函數(shù)中確定。const適用于數(shù)學(xué)常數(shù)等靜態(tài)值,readonly適用于類(lèi)實(shí)例生命周期內(nèi)保持不變的值
在C#中,const
和readonly
都用于創(chuàng)建常量,但它們有一些重要的區(qū)別。以下是詳細(xì)講解以及相應(yīng)實(shí)例代碼。
const:
const
關(guān)鍵字用于創(chuàng)建編譯時(shí)常量,必須在聲明時(shí)初始化。
常量值在編譯時(shí)確定,無(wú)法在運(yùn)行時(shí)更改。
常量通常用于定義不變的常量值,如數(shù)學(xué)常數(shù)。
class Program
{
// 編譯時(shí)常量
const int ConstValue = 10;
static void Main()
{
Console.WriteLine(ConstValue);
}
}
readonly:
readonly
關(guān)鍵字用于創(chuàng)建運(yùn)行時(shí)常量,可以在構(gòu)造函數(shù)中初始化。
常量值在運(yùn)行時(shí)確定,可以在構(gòu)造函數(shù)中進(jìn)行初始化。
readonly
通常用于表示在類(lèi)的實(shí)例生命周期內(nèi)保持不變的值。
class Program
{
// 運(yùn)行時(shí)常量
readonly int ReadOnlyValue;
// 構(gòu)造函數(shù)中初始化
public Program()
{
ReadOnlyValue = 20;
}
static void Main()
{
Program program = new Program();
Console.WriteLine(program.ReadOnlyValue);
}
}
區(qū)別和使用場(chǎng)景:
const
用于編譯時(shí)常量,readonly
用于運(yùn)行時(shí)常量。選擇使用哪個(gè)關(guān)鍵字取決于常量值何時(shí)可知。
該文章在 2024/1/31 16:11:01 編輯過(guò)