Baby'sBreath 发表于 2013-11-18 18:50:48

关于ref和out怎么用,有什么含义

//ref
class Program
    {
      public static void Change(ref int x, ref int y)
      {
            int t = x;
            x = y;
            y = t;

      }
      public static void Jia(ref int x)
      {
            x++;

      }
      static void Main(string[] args)
      {
            int a = 15, b = 17;

            Change(ref a,ref b);
            Jia(ref a);
            Jia(ref b);

            Console.WriteLine("当前a的值为{0}", a);
            Console.WriteLine("当前b的值为{0}", b);
         //out
class Program    {      public static void Change(out int x, ref int y)      {            int t = x;            x = y;            y = t;            }      public static void Jia(out int x)      {            x++;                  }      static void Main(string[] args)      {            int a = 15, b = 17;                Change(ref a,ref b);            Jia(ref a);            Jia(ref b);                     Console.WriteLine("当前a的值为{0}", a);            Console.WriteLine("当前b的值为{0}", b);

ibcadmin 发表于 2013-11-18 22:08:48

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

Baby'sBreath 发表于 2013-11-18 23:02:54

不是很多,但还是非常感谢:)
页: [1]
查看完整版本: 关于ref和out怎么用,有什么含义