程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中Ref參數使用之我見

C#中Ref參數使用之我見

編輯:關於C語言
市面上的書中有關REF參數的說明一般是這樣的:
  ref 在使用過程中會改變變量的值,且例子如下:
  public static void ValueParam(string str)
  {
   str = "251";
  }
  public static void RefParam(ref string str)
  {
   str = "250";
  }
  public static void Main()
  {
   string str = "249";
   ValueParam(str);
   Console.WriteLine(" Value Param:"+str);
    RefParam(ref str);
   Console.WriteLine(" Ref Param:"+str);
}
結果為:
Value Param:249
Ref Param:250

但我在實踐中發現: 數組參數在不用REF修飾下值也會改變的,看下面這個例子:
  public void ChageValue(int[] arr)
  {
      for(int i =0;i<arr.Length;i++)
         arr[i]=0;
  }
  public static void Main()
  {
   int [] aar = {3,4,5,7,2,6,1};
   for(int i=0;i<aar.Length;i++)
       Console.WriteLine(">>>"+aar[i].ToString());
   ChageValue(aar);  // 這裡沒有使用REF 參數.
   for(int i=0;i<aar.Length;i++)
       Console.WriteLine("<<<"+aar[i].ToString());
}
從結果中可以看出,數組本身已經改變了,因此不僅僅用REF的形式可以改變參數的值,而這種情況在一般書中都沒有介紹,希望新的關於介紹C#的書將上面的情況加以說明。
謝謝。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved