C# 中的 Out 和 Ref 参数
2012-05-02 22:14
225 查看
out和ref参数经常用来通过方法传递参数来获取值,当您的方法不只有一个返回值的时候,这两个参数就发挥作用了。ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。在这篇文章里,我将解释如何在c#应用中使用这两个参数。
1、out参数
out方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
publicclassmathClass
{
publicstaticintTestOut(outintiVal1,outintiVal2)
{
iVal1=10;
iVal2=20;
return0;
}
publicstaticvoidMain()
{
inti,j;//variableneednotbeinitialized
Console.WriteLine(TestOut(outi,outj));
Console.WriteLine(i);
Console.WriteLine(j);
}
}
2、ref参数
ref方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
staticvoidMain(string[]args)
{
//Refsample
intrefi;//variableneednotbeinitialized
refi=3;
RefTest(refrefi);
Console.WriteLine(refi);
Console.ReadKey();
}
publicstaticvoidRefTest(refintiVal1)
{
iVal1+=2;
}
3、区别
使用ref前必须对变量赋值,out不用。
out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。
1、out参数
out方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
publicclassmathClass
{
publicstaticintTestOut(outintiVal1,outintiVal2)
{
iVal1=10;
iVal2=20;
return0;
}
publicstaticvoidMain()
{
inti,j;//variableneednotbeinitialized
Console.WriteLine(TestOut(outi,outj));
Console.WriteLine(i);
Console.WriteLine(j);
}
}
2、ref参数
ref方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
staticvoidMain(string[]args)
{
//Refsample
intrefi;//variableneednotbeinitialized
refi=3;
RefTest(refrefi);
Console.WriteLine(refi);
Console.ReadKey();
}
publicstaticvoidRefTest(refintiVal1)
{
iVal1+=2;
}
3、区别
使用ref前必须对变量赋值,out不用。
out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。
相关文章推荐
- C#的方法参数--params、ref、out
- C# 参考之方法参数关键字:params、ref及out
- c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)
- C#中参数前缀ref、out的使用
- C#的参数类型:params、out和ref
- C# 中的四种参数的使用方法(一般参数,ref 参数,out参数,参数数列)
- C# 参考之方法参数关键字:params、ref及out
- C#中ref参数及out参数对比
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- C#基础(8)——高级参数out、ref、params
- C#回顾学习笔记十六:out、ref和params参数
- C#:ref(引用传递参数)和out(输出参数))
- C#的参数类型:params、out和ref
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- C#的参数类型:params、out和ref
- C# 中的 Out 和 Ref 参数
- C# 参考之方法参数关键字:params、ref及out (收集)
- C# 参数-ref 参数、out 参数和 params type[] 参数数列