方法参数中有out和in关键字是什么意思?

out请参见  
  c#   关键字   |   方法参数  
  方法参数上的   out   方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。  
   
  当希望方法返回多个值时,声明   out   方法非常有用。使用   out   参数的方法仍然可以返回一个值。一个方法可以有一个以上的   out   参数。  
   
  若要使用   out   参数,必须将参数作为   out   参数显式传递到方法。out   参数的值不会传递到   out   参数。  
   
  不必初始化作为   out   参数传递的变量。然而,必须在方法返回之前为   out   参数赋值。  
   
  属性不是变量,不能作为   out   参数传递。  
   
  如果两个方法的声明仅在   out   的使用方面不同,则会发生重载。不过,无法定义仅在   ref   和   out   方面不同的重载。例如,以下重载声明是有效的:  
   
  class   myclass    
  {  
        public   void   mymethod(int   i)   {i   =   10;}  
        public   void   mymethod(out   int   i)   {i   =   10;}  
  }  
  而以下重载声明是无效的:  
   
  class   myclass    
  {  
        public   void   mymethod(out   int   i)   {i   =   10;}  
        public   void   mymethod(ref   int   i)   {i   =   10;}  
  }  
  有关传递数组的信息,请参见使用   ref   和   out   传递数组。  
   
  示例  
  //   cs_out.cs    
  using   system;  
  public   class   myclass    
  {  
        public   static   int   testout(out   char   i)    
        {  
              i   =   b;  
              return   -1;  
        }  
   
        public   static   void   main()    
        {  
              char   i;       //   variable   need   not   be   initialized  
              console.writeline(testout(out   i));  
              console.writeline(i);  
        }  
  }  
  输出  
  -1  
  b  
  请参见  
  c#   关键字   |   方法参数  
http://www.yuechengnet.com
原文地址:https://www.cnblogs.com/yanwei067/p/897517.html