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关键字只能放在最后面