程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#參數傳遞機制

C#參數傳遞機制

編輯:C#入門知識

C#方法的參數傳遞機制和C語言、C++語言不一樣的是,新增加了一種叫做輸出傳遞機制,其他兩種機制為值傳遞和引用傳遞機制。

  總結如下:

  C#方法的參數傳遞機制有以下三種方法:

 

  1. 值傳遞
  2. 引用傳遞
  3. 輸出傳遞

 

 根據以上描述,我們來舉個例子說明這三種傳遞機制內幕。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Method
{
    class Program
    {
        public static void ValueMethod(int i)//值傳遞
        {
            i++;
        }
        public static void RefereceMethod(ref int i)//參數傳遞
        {
            i++;
        }
        public static void OutMethod(out int i)//輸出傳遞
        {
            i = 0;
            i++;
        }
        static void Main(string[] args)
        {
            int i = 0;
            ValueMethod(i);
            Console.WriteLine("i = " + i);
            int j = 0;
            RefereceMethod(ref j);//此處一定要添加ref傳入
            Console.WriteLine("j = " +j);
            int k = 0;
            OutMethod(out k);
            Console.WriteLine("k = " + k);
        }
    }
}

 

   使用這三種傳遞機制的時候,要注意的問題都在注釋中給出。程序輸出的結果為:

 i = 0

j = 1

k = 1

  那麼,回顧以下,可以發現,在C#中,Main函數的局部變量如果使用值傳遞的辦法,那麼該參數被調用後,依然保持調用前的值。而輸出參數和引用參數都會改變被引用的變量值。

 

下面來講講可變長參數 的傳遞(params)先看代碼: