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手册即可,欢迎大家斧正

posted @ 2015-02-15 23:36  ching126  阅读(299)  评论(0编辑  收藏  举报
一个小小的平凡的事情坚持10年,回头看看,你会收获惊喜;坚持20年,回头看看,你的命运已经发生质的蜕变;坚持30年甚至更多年,回头看看,你的人生已经发生惊天动地的变化。