-值參數:不含任何修飾符。方法中的形參是實參的一份拷貝,形參的改變不會影響到內存中實參的的值,實參是安全的。
-引用參數:以ref修飾符聲明。傳遞的參數實際上是實參的指針,所以在方法中的操作都是直接對實參進行的,而不是復制一個值;可以利用這個方式在方法調用時雙向傳遞參數;為了以ref方式使用參數,必須在方法聲明和方法調用中都明確地指定ref關鍵字,並且實參變量在傳遞給方法前必須進行初始化。
-輸出參數:以out修飾符聲明。和ref類似,它也是直接對實參進行操作。在方法聲明和方法調用時都必須明確地指定out關鍵字。out參數聲明方式不要求變量傳遞給方法前進行初始化,因為它的含義只是用作輸出目的。但是,在方法返回前,必須對out參數進行賦值。
-數組型參數:以params修飾符聲明。params關鍵字用來聲明可變長度的參數列表。方法聲明中只能包含一個params參數。
using System;
class Test
{
static void F(params int[] args)
{
Console.WriteLine("Array contains {0} elements:",args.Length);
foreach(int i in args)
Console.Write("{0}",i);
Console.WriteLine();
}
public static void Main()
{
int [] a = {1,2,3};
F(a);
F(10,20,30,40);
F();
}
}