C#関数で複数の値を返す


  static void Main(string[] args)   {  
            //     
            int value;     string strOutValue;  
  
            //       
            //               
            ReturnMulValue(out strOutValue,out value);  
  
            Console.WriteLine("Call ReturnMulValue(out string strOut, out int i)");  
            Console.WriteLine("value = {0:N}", value);//value = 1.00   
            Console.WriteLine("Out string value = " + strOutValue); //Out string value = out function   
  
  
            //       
            //                    
            value = ReturnMulValue(out strOutValue);  
  
            Console.WriteLine("Call ReturnMulValue(out string strOut)");  
            Console.WriteLine("value = {0:N}", value);//value = 2.00   
            Console.WriteLine("Out string value = " + strOutValue);//Out string value = out function 2   
  
            //     
            int[] outArr;  
            //       
            //         
            ReturnMulArr(out outArr, out value);  
  
            Console.WriteLine("Call ReturnMulArr(out int[] arr, out int i)");  
            Console.WriteLine("value = {0:N}", value);//value = 3.00   
            Console.WriteLine("Out arr value ");  
  
            for (int j = 0; j < outArr.Length; j++)  
            {  
                Console.Write(outArr[j]);//12345   
            }  
        }  
  
        ///    
        ///      ,         
        ///    
        ///   out            
        ///   out           
        static void ReturnMulValue(out string strOut, out int i)  
        {  
            i = 1;  
            strOut = "out function";  
        }  
  
        ///    
        ///      ,          
        ///    
        ///   out            
        ///              
        static int ReturnMulValue(out string strOut)  
        {  
            int i = 2;  
            strOut = "out function 2";  
            return i;  
        }  
  
  
        ///    
        ///        
        ///    
        ///   out           
        ///   out           
        static void ReturnMulArr(out int[] arr, out int i)  
        {  
            arr = new int[5] { 1, 2, 3, 4, 5};  
            i = 3;  
        }