1、如果方法的参数用out来标记,在调用该方法之前,不需要初始化传递给方法的参数,但在方法内部必须初始化该参数
例子:public sealed class Program
{
public static void Main()
{
int x; //x没有初始化
GetVal(out x); //x不需要初始化
Console.WriteLine(x); //结果为10
}
private static void GetVal(out int x)
{
v=10; //必须初始化v
}
}
2、如果方法的参数用reft来标记,在调用该方法之前,必须初始化传递给方法的参数
例子:public sealed class Program
{
public static void Main()
{
int x=5; //x已经初始化
AddVal (ref x); //x必须初始化
Console.WriteLine(x); //结果为15
}
private static void AddVal(ref int x)
{
v += 10;
}
}
3、params是指向方法传递可变参数,标记了params关键字的参数只能放在方法参数列表的最后,还有,该参数只能标识任意类型的一个一维数组
例子:public sealed class Program
{
public static void Main()
{
DisplayTypes(new object(),new Random(),"Jeff",5);
}
private static void DisplayTypes (params object[] objects)
{
if(objects!=null)
{
foreach(object o in objects)
{
Console.WriteLine(o.GetType());
}
}
}
}
输出结果:
System.Object
System.Random
System.String
System.Int32
|