如上,通俗易懂的例子,哈哈

解决方案 »

  1.   

    out是必须要有返回值的,重点在返回.而且必须有返回数据
    ref重在修改,他也可以原值返回
      

  2.   

    难到你的电脑上没有安装MSDN吗?MSDN上有解释的。
      

  3.   

    1)如果value是string,则
       decimal val;
       decimal.TryParse(value, out val));返回解析后的val值
    2)ref 与 C++ 的&引用相同private void SetValue(ref int value)
    {
       value = -1;
    }private void Text()
    {
       int v;
       SetValue(ref v);  // 此时 v 将是 -1
    }
      

  4.   

    ref是传递参数的地址,out是返回值
    ref传进去的参数必须在调用前初始化,out不必
    int i;
    SomeMethod( out i );
    ref传进去的参数在函数内部可以直接使用,而out不可:
    public void SomeMethod(ref int i)
    {
       int j=i;
       ...
    }
      

  5.   

    例子:
            private void test(ref string str) { 
                
            }
            private void test(out string str) { 
                
            }用out没有修改就会报错。out只要是用来返回一个对象。
      

  6.   

    通俗的解释就是out要有初始值,ref不需要初始值。
    值类型与引用类型。
      

  7.   

    class RefExample
    {
        static void Method(ref int i)
        {
            i = 44;
        }
        static void Main()
        {
            int val = 0;
            Method(ref val);
            // val is now 44
        }
    }