C#类中方法的参数有 (1)值参数
(2)引用参数(ref)
(3)输出参数(out)
(4)数组参数(params)
(5)可选参数 < 这个只在C#4.0中才有,在编译代码时要注意选择的版本号 >
对于值参数就不多说了,主要说一下引用参数、输出参数和数组参数:
(1)引用参数 用ref来修饰,要注意它和值参数的区别是一个是数据的副本一个是数据的地址。所以,值参的变化不会影响到实际的数据而引用参数的变化就会影响到实际的数据;
static void Main(string[] args)
{
int i = 1;
int j = 2;
add(ref i,ref j);
Console.WriteLine("i={0}",i);
Console.WriteLine("j={0}",j);
Console.Read();
}
private static void add(ref int i, ref int j)
{
i = i + j;
}
它输出的结果是: i=3
j=2
(2)输出参数 用 out 来修饰。以前我们学到的C或者是C++中的思想是,一个函数不可以实现多个返回值的返回,而这个正好解决了这个问题。看看例子吧
static void Main(string[] args)
{
int i, j;
OutVa(out i,out j);
Console.WriteLine("i={0}",i);
Console.WriteLine("j={0}",j);
Console.Read();
}
public static void OutVa(out int i, out int j)
{
i = 1;
j = 2;
}
它输出的结果是: i=1
j=2;
(3) 数组参数 用 params修饰。它传递的参数的个数是不确定的。一般在方法体中都通过循环的方法来处理数组参数。看看例子吧
static void Main(string[] args)
{
Test("a");
Test("b","c");
Test("e","f","g");
Console.Read();
}
static void Test(params string[] args)
{
for (int i = 0; i < args.Length; i++)
{
Console.Write(args[i]+" ");
}
}
输出的结果:a b c d e f g
至于其它的参数都比较简单,这里不再多说。