C#简明教程(三)

Author: efoxxx  From:Internet


               
 
  声明:我在翻译的时候,加了一些自己的看法以及其它的一些比较,希望能让大家看的更明白,理解更透彻。
 
  有什么建议请mail:efoxxx@263.net
 
 
 
  C#中的out和ref参数
 
  out和ref参数是用于让传递到方法的参数中带回返回值。
 
  在你需要让方法返回多于一个返回值的情况下,这俩个参数很有用。
 
 
 
  ◆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;  //变量i,j不需要初始化
        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;  // 变量i,j不需要初始化
        SwapOut(out i, out j);
        Console.WriteLine(i);
        Console.WriteLine(j);
    }
  }
 
 
 
 
  ◆ref参数(引用)
  与Java和C  的概念是一样的。
 
  你也可以用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);
 
   
 
  }
 
  }
 
  }
 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 警告:持续变种木马正在发起农历新年攻势!
 您可能对 [C#] 的这些文章也感兴趣:
论C#变得越来越臃肿是不可避免的
查询IP所在区段(C#)
在C#中利用SharpZipLib进行文件的压缩和解压缩
C# - Append a host header by code in IIS
在C#中调用Microsoft.VisualBasic命名空间下的类型验证函数
使用泛型实现单例提供者(原创翻译)
C#2 anonymous methods
Master Pages: Tips, Tricks, and Traps
Microsoft .NET 框架资源基础
基于.Net平台应用程序唯一运行实例实现
.net Framework 2.0 专门提供了配置文件的操作
正确实现 IDisposable