C# ref和out传递参数总结

如有雷同,不胜荣幸,若转载,请注明

C#中ref和out传递参数总结,两个都可用来传递参数,ref使用时必须先进行初始化,out则不需要,只要在返回之前赋值即可,文字废话到此,下面直接上例子

ref例子

Class A

{

private string name = string.Empty;

private int count = 0;

...

GetName(ref name,ref count);

Console.Write(“姓名:” + name + ",数量:" + count);

}

Class B

{

...

 

//参数name是1个指向堆栈中值类型为string的指针
      //参数count是1个指向堆栈中值类型为int的指针

 

public  bool GetName(ref string name,ref int count)

{

...

name = "ching";

count = 10;

return true;

}

}

输出结果:姓名:ching,数量:10

out例子

 

Class A

{

private string name;

private int count;

...

GetName(ref name,ref count);

Console.Write(“姓名:” + name + ",数量:" + count);

}

Class B

{

...

public  bool GetName(ref string name,ref int count)

{

...

name = "ching";

count = 10;

return true;

}

}

同样这个输出结果:姓名:ching,数量:10

综上所述,ref和out在C#中有着相同的功效,只是注意ref需要先初始化值,out则不需要,但是要在返回之前赋一个值,以上所说是简单阐述,详细介绍或者在使用上有疑惑之处请查看官方原版msdn手册即可,欢迎大家斧正

C# ref和out传递参数总结

上一篇:error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR...(转)


下一篇:MyBatis入门学习-连接oracle实现CURD基本操作