ref -----双向传递 数据      ----必须是instance 好的
out ----- 只是出来不进去的 ,  给个引用就可以了
a 作为ref的 传递进去必须先要初始化一个 instance 的空间 
否则编译出错。


 string  a ;//Test.cs(51,29): error CS0165: 使用了未赋值的局部变量“a”
  string  a ;//Test.cs(51,29): error CS0165: 使用了未赋值的局部变量“a”

 max (  ref  a  ,ref b  ,  out    str1 , out   j   );
      max (  ref  a  ,ref b  ,  out    str1 , out   j   );          


 static void  max( ref string   x,  ref    string  y   , out string a , out int   b )
static void  max( ref string   x,  ref    string  y   , out string a , out int   b )  {
{
 。。。
。。。
 }
}



out  变量
 string str1 ="U ---";  // out 作为 out 只需要定义一个引用 
在外面调用的地方即使  给了实例   ,进入到函数体里面也不能用。所以只需要引用就可以了。
   max (  ref  a  ,ref b  ,  out    str1 , out   j   );               
static void  max( ref string   x,  ref    string  y   , out string a , out int   b ) {
                   string  o = null; 
a = a+ "max";   // Test.cs(37,23):         //error  error CS0269: 使用了未赋值的 out 参数“a”