首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 中 out 與 ref 參數的差異(一)

     編輯:關於C語言

以下示範使用 ref 的程式碼:

using System;
class M
{
    public void F(ref int i)
    {
        i = 3;
    }
}
class Test
{
    int i = 0; // 作為 ref 參數的變數必須先明確賦值
    static void Main()
    {
        Test t = new Test();
        Console.WriteLine("the value of i is:{0}", t.i);
        M mm = new M();
        mm.F(ref t.i); // 以引用參數傳遞
        Console.WriteLine("now the value of i is :{0}", t.i); // i 的值已改變
    }
}

接著示範使用 out 的類似程式碼:

class M
{
    public void F(out int i) // 方法簽名與 ref 版本相同
    {
        i = 8; // 返回前必須明確賦值
    }
}
class Test
{
    int i; // 不需初始化,這就是 out 與 ref 的差異,但仍需宣告
    public static void Main()
    {
        Test t1 = new Test();
        Console.WriteLine("the value of i is :{0}", t1.i); // 輸出 0
        M m1 = new M();
        m1.F(out t1.i); // 作為輸出參數傳遞,輸出變為 8
        Console.WriteLine("now value of i is :{0}", t1.i);
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved