给方法传递参数

/*----------------------------------------------------------- 给方法传递参数 (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;
        }
    }
}
原文地址:https://www.cnblogs.com/gyt-xtt/p/3641791.html