C#简明教程(三)

    技术2022-05-11  61

    C#简明教程(三)

    声明:我在翻译的时候,加了一些自己的看法以及其它的一些比较,希望能让大家看的更明白,理解更透彻。

    有什么建议请mailefoxxx@263.net

    对了,那位在专家门诊上贴了关于“找到C#编译器”的兄弟,我怎么还没有收到你答应的C#编译器,急用,劳驾这位兄弟百忙之中给我发一个过来,谢了!

     

    C#中的outref参数

    outref参数是用于让传递到方法的参数中带回返回值。

    在你需要让方法返回多于一个返回值的情况下,这俩个参数很有用。

     

    out参数

    out参数可以用于让同一个变量参数既传参又带回返回值。(有点像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;   //变量ij不需要初始化      Console.WriteLine(TestOut(out i, out j));      Console.WriteLine(i);      Console.WriteLine(j);  }}

     

    efoxxx补充:

     这里我想补充一个谭浩强老师的一个经典的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;   // 变量ij不需要初始化      SwapOut(out i, out j);      Console.WriteLine(i);      Console.WriteLine(j);  }}

     

      ref参数(引用)

    JavaC++的概念是一样的。

    你也可以用ref来得到多于一个的返回参数。

     

    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);

     

    }

    }

    }

     

    最新回复(0)