/*--------------------------------------------------- 给方法传递参数:ref参数和out参数 (P106) ---------------------------------------------------*/
// ***********************************************************************************************************************************************
// **
// ** ❤ ref参数:可以迫使值参数通过引用传递给方法,则给方法对变量所做的任何改变都会影响原来对象的值
// **
// ** 注意:1.调用该方法时,也需要添加ref关键字①
// ** 2.C#仍要求对传递给方法的参数进行初始化②
// **
// ** ❤ out参数:1.当在方法的输入参数前加上out关键字时,传递给方法的变量可以不初始化③
// ** 2.该变量通过引用传递,所以在从被调用的方法中返回时,方法对该变量进行的任何改变都会保留下来
// ** 3.在调用该方法时,还需要使用out关键字④
// **
// ***********************************************************************************************************************************************
using System;
namespace Wrox.ProCSharp.Basics
{
class ParameterTestSemple
{
public static void Main()
{
int[] intArray = { 0 }; //②
int i = 0; //②
int j; //③
Console.WriteLine("intArray[0] is: {0}", intArray[0]);
Console.WriteLine("i is: {0}" + "\n", i );
Console.WriteLine("ParameterChange...");
Parameter(intArray, ref i, out j); //①④
Console.WriteLine("intArray[0] is: {0}", intArray[0]);
Console.WriteLine("ref i is: {0}", i);
Console.WriteLine("out j is: {0}", j);
Console.ReadKey();
return;
}
public static void Parameter(int[] intArray, ref int i, out int j) //ref参数和out参数
{
intArray[0] = 100;
i = 100;
j = 100;
}
}
}