該字段為實例字段時,在包含readonly字段聲明的類的實例構造器中;或者,該字段為靜態字段時,在包含readonly字段聲明的靜態構造器中。這是能把readonly字段作為out和ref參數傳遞的唯一情況。
在構造其中賦值。
using System;namespace readonly關鍵字{ internal class PRogram { private static void Main() { var myClass = new MyClass(); Console.WriteLine("number1 = {0} , number2 = {1} , number3 = {2} , number4 = {3} , number5 = {4}", myClass.Number1, myClass.Number2, MyClass.Number3, myClass.Number4, myClass.Number5); Console.ReadKey(); } } internal class MyClass { public readonly int Number1 = 100;//在聲明時賦值 public readonly int Number2; public static readonly int Number3; public readonly int Number4 = 400; public readonly int Number5 = 500; static MyClass() { Number3 = 300; } public MyClass() { Number2 = 200;//在構造器中賦值 ChangeValue(out Number4,ref Number5); ChangeValue1(Number4, Number5);//值沒有改變 } public void ChangeValue(out int p1, ref int p2) { p1 = 401; p2 = 501; } public void ChangeValue1(int p1,int p2) { p1 = 402; p2 = 502; } }}新聞熱點
疑難解答