位置:首頁 > 高級語言 > C#教學 > C#按值傳遞參數

C#按值傳遞參數

這是默認的機製傳遞參數的方法。在這個機製中,當一個方法被調用時,創建每個值參數在一個新的存儲位置。

實際參數的值複製它們。所以,該參數在方法中的變化對參數冇有影響。下麵的例子演示了這一概念:

using System;

namespace CalculatorApplication
{
    class NumberManipulator
    {
        public void swap(int x, int y)
        {
            int temp;

            temp = x; /* save the value of x */
            x = y;    /* put y into x */
            y = temp; /* put temp into y */
        }
    
        static void Main(string[] args)
        {
            NumberManipulator n = new NumberManipulator();
            /* local variable definition */
            int a = 100;
            int b = 200;

            Console.WriteLine("Before swap, value of a : {0}", a);
            Console.WriteLine("Before swap, value of b : {0}", b);

            /* calling a function to swap the values */
            n.swap(a, b);

            Console.WriteLine("After swap, value of a : {0}", a);
            Console.WriteLine("After swap, value of b : {0}", b);
 
            Console.ReadLine();
        }
    }
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :100
After swap, value of b :200

這表明,數值冇有被改變;雖然它們已經在函數內部改變。