/*--------------------------------------------------- 给方法传递参数: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}" + " ", 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; } } }