聲明:我在翻譯的時(shí)候,加了一些自己的看法以及其它的一些比較,希望能讓大家看的更明白,理解更透徹。 有什么建議請(qǐng)mail:efoxxx@263.net C#中的out和ref參數(shù) out和ref參數(shù)是用于讓傳遞到方法的參數(shù)中帶回返回值。 在你需要讓方法返回多于一個(gè)返回值的情況下,這倆個(gè)參數(shù)很有用。 ◆out參數(shù) out參數(shù)可以用于讓同一個(gè)變量參數(shù)既傳參又帶回返回值。(有點(diǎn)像C中的指針喲) public class mathClass { public static int TestOut(out int iVal1, out int iVal2) { iVal1 = 10; iVal2 = 20; return 0; } public static void Main() { int i, j; //變量i,j不需要初始化 Console.WriteLine(TestOut(out i, out j)); Console.WriteLine(i); Console.WriteLine(j); } } efoxxx補(bǔ)充: 這里我想補(bǔ)充一個(gè)譚浩強(qiáng)老師的一個(gè)經(jīng)典的C程序例子:swap public class swapClass { public static int SwapOut(out int iVal1, out int iVal2) { int temp; temp = iVal1; iVal1 = iVal2; iVal2 = temp; return 0; } public static void Main() { int i, j; // 變量i,j不需要初始化 SwapOut(out i, out j); Console.WriteLine(i); Console.WriteLine(j); } } ◆ref參數(shù)(引用) 與Java和C++的概念是一樣的。 你也可以用ref來(lái)得到多于一個(gè)的返回參數(shù)。 namespace TestRefP { using System; public class myClass { public static void RefTest(ref int iVal1 ) { iVal1 += 2; } public static void Main() { int i; // variable need not be initialized i = 3; RefTest(ref i ); Console.WriteLine(i); } } } |
|