C#.NET中的函数的输出参数(关键字out)

/*
 * Created by SharpDevelop.
 * User: noo
 * Date: 2009-8-16
 * Time: 13:42
 * 
 * 函数的输出参数(关键字out)
 
*/
using  System ;
class  A
{
    
public   static   int  Max( int [] intArray, out   int  maxIndex) // 函数的功能是返回数组中的最大值,maxIndex是最大值的下标
    {
        
int  maxVal = intArray[ 0 ];
        maxIndex
= 0 ; //  控制离开当前方法之前必须对 out 参数“maxIndex”赋值
         for ( int  i = 1 ;i < intArray.Length ;i ++ )
        {
            
if (intArray[i] > maxVal)
            {
                maxVal
= intArray[i];
                maxIndex
= i;
            }
        }
        
return  maxVal;
    }
}
// out同ref参数一样,也会改变参数的值,可以把未赋值的变量用作out参数
class  Test
{
    
static   void  Main()
    {
        
int [] myArray = { 1 , 5 , 3 , 6 , 3 , 8 , 0 , 9 , 4 , 5 ,};
        
int  index;
        
int  maxValue = A.Max (myArray, out  index); // 这里调用并不需要为out参数赋值
        Console.WriteLine ( " 该数组的最大值是:{0} " ,maxValue); // 9
        Console.WriteLine ( " 最大值是数组中第{0}个元素 " ,index + 1 ); // 第8个元素
    }
}

你可能感兴趣的:(.net)