/*----------------------------------------------------------- 给方法传递参数 (P104) -------------------------------------------------------------*/ // *********************************************************************************************************************************************** // ** // ** ❤ 值传递:如果变量是通过值传递给方法的,被调用的方法得到的是值的一个副本,在方法退出后对变量的修给会丢失 // ** ❤ 引用传递:在变量通过引用传递给方法时,被调用的方法得到的就是这个变量,所以在方法内部对变量进行的任何改变在方法退出后仍发挥作用 // ** // ** 注意:1.C#仍要求对传递给方法的参数进行初始化① // ** 2.字符串是不同的,因为字符串是不能改变的(如果改变字符串的值,就会重新创建一个字符串),所以字符串无法显示一个引用类型的行为方式。在 // ** 方法调用中,对字符串所做的任何改变都不会影响原来的字符串 // ** // *********************************************************************************************************************************************** using System; namespace Wrox.ProCSharp.Basics { class ParameterTestSemple { public static void Main() { int[] intArray = { 0 }; //① int i = 0; //① Console.WriteLine("i is: {0}", i); Console.WriteLine("intArray[0] is: {0}", intArray[0] + " "); Console.WriteLine("ParameterChange..."); //方法参数传递:引用类型传递(intArray)和值类型传递(i) ParameterChange(intArray, i); Console.WriteLine("i is: {0}", i); Console.WriteLine("intArray[0] is: {0}", intArray[0]); Console.ReadKey(); return; } public static void ParameterChange(int[] intArray, int i) { intArray[0] = 100; i = 100; } } }