黑马程序员技术交流社区
标题: 关于ref和out的问题 [打印本页]
作者: 韩俊 时间: 2012-12-1 15:23
标题: 关于ref和out的问题
C#中ref 和out的区别是什么,用程序来说明?
作者: 杨占伟 时间: 2012-12-1 17:57
out和ref属于引用类型传递他们传的是内存地址不是传值.
ref 传递的参数是双向,可以传入也可以传出: class Program
{
static void Main(string[] args)
{
int iNumber = 100;
int iTemp =Test(ref iNumber);
Console.WriteLine("ref参数传出的值为a:{0}\nref传入后经方法retrun的值:{1}",iNumber,iTemp);
Console.ReadKey();
}
static int Test(ref int iNum)
{
int temp = iNum;//方法内可接收外部传入的值.
iNum = 50;
return temp;
}
}
out传递参数是单向的只能传出值.当需要从一个方法中传出多个值时用. class Program
{
static void Main(string[] args)
{
int iNumber;
Test(out iNumber);
Console.WriteLine("out参数传出的值是:{0}",iNumber);
Console.ReadKey();
}
static void Test(out int iNum)
{
//int temp = iNum;//错误!
iNum = 50; //out传入的参数要先赋值才能使用.
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |