ref与out的区别

来源:互联网 发布:淘宝修改标题会降权吗 编辑:程序博客网 时间:2024/05/07 22:31

若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字,且传递到 ref 参数的参数必须最先初始化,否则会报错。例如:

  

  class Pogram{         static void Method(ref int i)        {             i = i + 10;        }        static void Main()      {            int val = 1; //参数val必须先初始化            Method(ref val);            Console.WriteLine(val);      } }

而 out 的参数在传递之前不需要显式初始化,但结束时out的参数必须被赋值。例如:

    class Program   {          public  void Method(out int i)    {    i = 2;//必须被赋值 }              static void Main()  {              int i;Program p = new Program();                p.Method(out i);                Console.WriteLine("i="+i);                Console.ReadKey();          } } 


原创粉丝点击