ref和out 传值和改变值
namespace TEST
{
//传值时必须初始化
class Program
{
static void ShowDouble(ref int val)
{
val *= 2;
Console.WriteLine("Val double={0}",val );
}
static void Main(string[] args)
{
int myNumber = 5;
Console.WriteLine("myNumber={0}",myNumber );
ShowDouble(ref myNumber );
Console.WriteLine("myNumber={0}",myNumber);
Console.ReadKey();
}
}
}
######################################################################
namespace OUT
{
class Program
{
static int MaxValue(int[] intArray, out int maxIndex)
{
int maxVal = intArray[0];
maxIndex = 0;
for (int i = 1; i < intArray.Length; i++)//
{
if(intArray[i]>maxVal )
{
maxVal = intArray[i];
maxIndex = i;
}
}
return maxVal;
}
static void Main(string[] args)
{
int[] myArray = { 1,8,3,6,2,5,9,3,0,2};
int maxIndex;
Console.WriteLine("the maximum value in myarray is {0}",MaxValue (myArray ,out maxIndex ));
Console.WriteLine("the first occurrence of this value is at element {0}",maxIndex +1);
Console.ReadKey();
}
}
}
浙公网安备 33010602011771号