在C#程式語言中,關鍵字const用於聲明一個常量,即一個值在程序運行期間不可改變的變量。以下是const的主要功能和特點:
功能與特點
不可變性:
使用const關鍵字聲明的變量在初始化後,其值不能再被修改。例如:
csharp
複製程式碼
const int MaxValue = 100;
必須在編譯時初始化:
const變量必須在聲明時進行初始化,且其值必須是編譯時已知的常量。
csharp
複製程式碼
const double Pi = 3.14159;
隱含的靜態性:
const變量隱含地是靜態的,即不需要使用static關鍵字來聲明它。它們屬於類別本身而不是類的實例,因此可以直接通過類名訪問。
csharp
複製程式碼
public class MyClass
{
public const int MaxItems = 50;
}
// 訪問方式
int max = MyClass.MaxItems;
提升程式效率:
由於const變量在編譯時已知並且其值不可改變,編譯器可以對其進行優化,提升程式的執行效率。
使用情境
const通常用於那些在程序運行期間不會改變的值,如數學常數、配置參數或應用程序的固定設置等。
與readonly的區別
const變量必須在編譯時初始化,而readonly變量可以在運行時初始化,且只能在構造函數中被賦值。
const變量隱含地是靜態的,而readonly變量則可以是實例變量,也可以是靜態變量。
csharp
複製程式碼
public class Example
{
public const int ConstValue = 10; // 編譯時常量
public readonly int ReadOnlyValue; // 只能在構造函數中初始化
public Example(int value)
{
ReadOnlyValue = value;
}
}