例子:
using System; namespace Wrox.ProCSharp. ParameterTestSample { class ParameterTest { static void SomeFunction(int[] ints, int i) { ints[0] = 100; i = 100; } public static int Main() { int i = 0; int[] ints = { 0, 1, 2, 4, 8 }; // Display the original values Console.WriteLine("i = " + i); Console.WriteLine("ints[0] = " + ints[0]); Console.WriteLine("Calling SomeFunction..."); // After this method returns, ints will be changed, // but i will not SomeFunction(ints, i); Console.WriteLine("i = " + i); Console.WriteLine("ints[0] = " + ints[0]); Console.ReadKey(); return 0; } } }
输出结果:
i=0 ints[0] = 0 Calling SomeFunction... i=0 ints[0] = 100 注意,i 的值保持不变,而在 ints 中改变的值在原来的数组中也改变了。
最新评论