using System;
namespace test5
{
    sealed class Parmeter
    {
        static void Method(out int parameter)
        {
           parameter = 42;
        }
        static void Main()
        {
            int arg;
            Method(out arg);
            Console.WriteLine(arg);
        }
    }
}
新手,求数据传递过程。求语句解释。

解决方案 »

  1.   

    using System;
    namespace test5
    {
      sealed class Parmeter
      {
      static void Method(out int parameter)   
      {
      parameter = 42;
      }
      static void Main()
      {
      int arg;
      Method(out arg);     //这里调用Method后,arg的值被改变成42  没有out,arg需要定义才能使用,而且使用后arg的值是不会变的
      Console.WriteLine(arg);
      }
      }
    }
      

  2.   

    out参数实际上是一个引用,把arg引用交给Method,Method内部把arg设置为42,parameter实际上是arg的指针/地址,
      

  3.   

    parameter是指针,那么42存储在那里?
      

  4.   

      int arg;
      Method(out arg);
     out又称输出参数,字面解释你就会明白,调用Method(out int parameter),输出参数parameter值
      static void Method(out int parameter)   
      {
      parameter = 42;
      }
    所以arg=parameter