•                    out型参数是实参的一个别名
        没有发生复制
        实参不必预先赋值
        实参必须是变量类型
        函数参数必须被预先赋值才能使用
        实参和函数参数都要有out
sealed class ParameterPassing
{
    static void Method(out int parameter)
    {
        parameter = 42;
    }
    static void Main()
    {
        int arg;
        //Console.Write(arg);
        Method(out arg);
        Console.Write(arg); //结果为42
    }
}
函数参数有out修饰符时,被称为out型参数。out型参数不产生新的存储区间。实际上,out型参数是函数调用时所传递的实参所代表的变量的别名。结果是out型参数只是实参所代表的变量的另一个名字。
out修饰符必须同时出现在函数声明语句和函数调用语句中。
没有被预先赋值的实参能够被传递给引用型参数,例如:
  int arg;    // arg没有被赋初值
  Method(out arg);//正确,实参可以不赋初值
传递给out型参数的实参必须是变量类型,而不能是纯粹的值或常量。
  Method(out 42);  //错误,out型参数的实参不能是纯粹的值
  const int arg = 42;
Method(out arg); //错误,out型参数的实参不能是常量