ref和out的区别是什么!!

解决方案 »

  1.   

    ref表示传址,out表示变量用于输出.
      

  2.   

    ref变量可以在传入函数前初始化.
    out变量不能在传入函数前初始化.
      

  3.   

    ref表示传址,out表示变量用于输出.REF时:传递地址,可以将一个值传入,然后取返回的内容。
    OUT 时,开始的初始化操作失效,只能作为输出使用。
      

  4.   

    默认情况下传递对象,,不都是传地址吗 !!
    比如:
    object o=new object();
    call(o)和call(ref o)有什么区别!!static void call(object o)
    {
      -------
    }
      

  5.   

    ref和out都是传值,所不同的是out不需要值在传入前初始化,因为你传进去的值在方法外初始化是无用的,因为它在方法内的第一步规定是要初始化参数的。
    ref则不需要在方法开始时对参数进行初始化
    ref和out显示了在现实世界中的实际行为:
    ref代表了当某些行为是因为外界的某些参数的参与而改变行为的结果的。
    out代表了无论外界因素如何变化,他都输出同样的结果,就好像法律是不以人的高低贵贱来判决的。
      

  6.   

    ref变量在调用函数前需初始化.
    out变量不一定要在调用函数前初始化.
    如:
    string s;
    func1(ref s);//出错
    func2(out s); //正确又如:string s="";
    func1(ref s);//正确
    func2(out s); //正确