C#.NET中的引用參數(帶關鍵字ref)和值參數

來源:互聯網
上載者:User
/*
 * Created by SharpDevelop.
 * User: noo
 * Date: 2009-8-16
 * Time: 13:24
 * 
 * 引用參數(帶關鍵字ref)和值參數
 */
using System ;
class A
{
    public static void showDouble(int val)
    {
        val *=2;
        Console.WriteLine ("該數的兩倍為:{0}",val);
    }
}
class B
{
    public static void showDouble(ref int val)//注意這裡的寫法為帶有關鍵字ref,表明該參數為引用參數
    {
        val *=2;
        Console.WriteLine ("該數的兩倍為:{0}",val);
    }
}
class Test
{
    static void Main()
    {
        Console.WriteLine ("以下是值參數的實現方式");
        int start=5;
        Console.WriteLine ("原始值為:{0}",start);//5
        A.showDouble (start);//10
        Console.WriteLine ("處理後值為:{0}",start);//5
        
        int begin=5;
        Console.WriteLine ("以下是引用參數的實現方式");
        Console.WriteLine ("原始值為:{0}",begin);//5
        B.showDouble (ref begin);//注意這裡的調用方式也要加上ref,10
        Console.WriteLine ("處理後值為:{0}",begin);//10,這裡與值引用得出的結果不一樣,這裡其實已經改變了參數的值
        //因為變數的值可能會發生變化,所以調用中必須使用變數,而不能是常量,如上面的begin不能定義為const int begin=5
    }
}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.