黑马程序员技术交流社区

标题: ref和out的用法 [打印本页]

作者: 郭正续    时间: 2012-7-29 16:50
标题: ref和out的用法
   在通过参数返回值的视频学习中,老师说ref可以传入值也可以传出值,而out只能传出值,比如
class Program
    {
        static void Main(string[] args)
        {
            int number = 10;
            Test(ref number);
            Console.WriteLine(number);
            Console.ReadKey();
        }

        static void Test(ref int a)
        {
            int b = a;
            a = 50;
        }
    }
   而且在number和a的前面加上ref还可以让这两个变量共用一个内存空间,那么能不能以后遇见需要返回值的时候,我就用ref而不用out,这样行不行?
作者: 许庭洲    时间: 2012-7-30 14:22
1,ref 先初始化,若你需要在方法里改变的参数就用ref;
2,out 在方法里初始化,若你不需要传递数据需要获得多个返回结果用out吧!
作者: Suko    时间: 2012-7-31 22:50
ref的意思就是引用,类似于引用类型。也就是创建了一个新的变量(参数符号)指向这个值。每次对这个值进行修改,修改的都是指向的这个值。 out的意思就是输出。也就是从方法内部获取值然后传递到外部。比如说,一个方法,返回值为bool,你只能返回true和false。但是你又想返回其他数据。这个时候out的价值就体现了。int.TryParser最能体现这个。你可以去试一下。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2