桦山涧

桦山涧
Asp.net ---->知识改变命运!
posts - 261, comments - 171, trackbacks - 6, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

C#中方法的参数有四种类型:

Posted on 2007-05-18 22:51 桦林 阅读(...) 评论(...) 编辑 收藏
 -值参数:不含任何修饰符。方法中的形参是实参的一份拷贝,形参的改变不会影响到内存中实参的的值,实参是安全的。

  -引用参数:以ref修饰符声明。传递的参数实际上是实参的指针,所以在方法中的操作都是直接对实参进行的,而不是复制一个值;可以利用这个方式在方法调用时双向传递参数;为了以ref方式使用参数,必须在方法声明和方法调用中都明确地指定ref关键字,并且实参变量在传递给方法前必须进行初始化。

  -输出参数:以out修饰符声明。和ref类似,它也是直接对实参进行操作。在方法声明和方法调用时都必须明确地指定out关键字。out参数声明方式不要求变量传递给方法前进行初始化,因为它的含义只是用作输出目的。但是,在方法返回前,必须对out参数进行赋值。

  -数组型参数:以params修饰符声明。params关键字用来声明可变长度的参数列表。方法声明中只能包含一个params参数。


using System;

class Test

{

       static void F(params int[] args)

       {

              Console.WriteLine("Array contains {0} elements:",args.Length);

              foreach(int i in args)

                     Console.Write("{0}",i);

              Console.WriteLine();

       }

       public static void Main()

       {

              int [] a = {1,2,3};

              F(a);

              F(10,20,30,40);

              F( );
     }

}