c#中 引用参数与输出参数的功能分别是?有什么区别?分别在什么时候使用?

来源:百度知道 编辑:UC知道 时间:2024/06/16 18:43:54

其实不用想的太复杂,简单点想

引用参数,ref,比如 public int Fun(ref int k);这样的函数,你想在函数体内修改参数k的值,就这样用,值类型的话就这样用吧,如果参数是一个对象,就不用这个ref了,其实意思就是传地址进去,让你进行操作

而输出参数,out,就是可以传入没有初始化的参数。ref就是必须初始化的
out可以在内部进行初始化,而且一定要初始化,这个要注意
就比如你传入一个没有初始化的值类型的数据,就可以用out这样的方法

两个的区别就是,ref要初始化,另一个不用
不过两个都可以在内部修改他的值
具体什么时候用,ref主要还是对于值类型
out可以处理一个没有初始化的数组,这个比较有用

你再看看别人说的,总结下吧

out(C# 参考)

更新:2007 年 11 月

out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如:

C# 复制代码
class OutExample
{
static void Method(out int i)
{
i = 44;
}
static void Main()
{
int value;
Method(out value);
// value is now 44
}
}

尽管作为 out 参数传递的变量不必在传递之前进行初始化,但需要调用方法以便在方法返回之前赋值。

ref 和 out 关键字在运行时的处理方式不同,但在编译时的处理方式相同。因此,如果一个方法采用 ref 参数,而另一个方法采用 out 参数,则无法重载这两个方法。例如,从编译的角度来看,以下代