namespace ConsoleApplication1
{
/// <summary>
/// 作者:it小金
/// 功能:c#只讀字段和常量的區別,以及靜態構造函數的使用
/// </summary>
class Program
{
static void Main(string[] args)
{
Console.WriteLine(test.a);
Console.WriteLine(test.b);
Console.Read();
}
}
public class test
{
public static readonly int b;//只讀字段可以使用static關鍵字,只讀字段可以不進行初始化賦值,只讀字段只能在構造函數或變量初始化時進行賦值
public const int a=1;//常量不可以使用static關鍵字,常量必須在定義的時候進行初始化進行賦值
static test()//靜態構造函數,類實例化之前調用執行,且只執行一次
{
b = 2;//因為是只讀字段,所以只能在構造函數中進行初始化,且改只讀字段為static類型,所以需在靜態構造函數中進行賦值
}
void aa()
{
//a = 1;錯誤
//b=1;錯誤
}
}
}
新聞熱點
疑難解答