普通方法(按参数划分)分为五种

1. 值类型参数方法

static void Main(string[] args)

{

     Add(1);

}

static void Main(int i

{

     i=100;   //内部发生改变于原类型无关

}

2. 引用类型参数方法

static void Main(string[] args)

{

       Add(null);

}

static void Main(int []i

{

     i=100;   //如果是引用类型内部发生改变外部就会改变,不管这个引用类型传在什么地方都指向一个托管堆内存地址

}

3. ref参数方法

必须的先赋值否则会报错, 方法内部没赋值也可以直接打印   可以进参也可以出参

4. out关键字参数方法

static void Main(string[] args)

{

         Int i;

       Add(out i);

}

static void Main(out int i

{

//没付值之前不能用。

        i=100;  //如果是出参的话,i要带参数出去,所以必须给i赋值

}

 

out与ref的异同点

 

说明:ref的应用场景是内部对外部的值进行改变,而out则是内部对外部变量的赋值。out一般用在函数有多个返回值。

名称

相同点

不同点

out 与 ref

1.参数都是变量,不能是常量

2.方法内必须赋值

3.方法内赋值都能出参

 

1.ref变量必须赋值才能传入

2.ref可以进参

2.ref方法内部没赋值也可以打印,而out不能打印

5. params关键字参数方法

params关键字必须是数组类型的

加上params关键字 参数可以更改

一个方法内部只能有一个params关键字,有多个参数params关键字只能放在最后

原文地址:https://www.cnblogs.com/ljknlb/p/7398949.html