塞伯坦

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    out 和 ref 关键字非常的相似都是以引用的方式来传递。不同的地方在与ref要求传递的变量必须进行初始化。看看下面例子中的表现:

 1class OutRefTest
 2{
 3 public void Main()
 4 {
 5   int parm;
 6   TestOut(out parm);
 7   //parm的值变成了10.
 8   Console.WriteLine("{0}", parm);
 9   
10   //parm2必须进行初始化
11   int parm2 = 2;
12   TestRef(ref parm2);
13   //parm的值变成了10.
14   Console.WriteLine("{0}", parm);
15   Console.Read();
16 }

17 public void TestOut(out int parm)
18 {
19   parm = 10 //必须赋值.
20 }

21 public void TestRef(ref int parm)
22 {
23  parm = parm * 10//必须赋值.
24 }

25}

    注意:
      1.在使用out来传递变量的时候可以不必为变量parm初始化,而使用ref来传递变量的时候必须为变量parm2进行初始化工作。
      2.如果在方法的参数列表中包含了out 或 ref关键字的话,就必须为相应的参数赋值。如方法TestOut 和 TestRef中表现的一样。 
    使用的时机:
      如果你想让你写的方法可以一次返回多个值就需要使用out 或 ref来实现。
posted on 2007-09-18 13:23  蔡鹏  阅读(690)  评论(8编辑  收藏  举报