void FunctionName(out int param){}
void FunctionName(ref int param){}C#编程中,方法的参数前面加out和ref分别表示什么啊?C++里面有传值和传址传递参数,C#里面是怎么区分的啊?

解决方案 »

  1.   

    out是传出来的参数,你在写FunctionName的时候,编译器会检查你是否给参数赋值,否则会提示参数没有初始化。
    在out参数传入后,FunctionName中是不能读取该参数的值的。ref是既可以传入,又可以传出的参数,即引用传递。
      

  2.   

    两种情况都是传地址,只不过ref会检查传入的东西.
      

  3.   

    都是按引用传递...out参数不经检查即被传递...在方法返回之前必须为其赋值...ref参数则会检查参数...必须在传入之前初始化...在编译期间两种参数实际上是一样的...
      

  4.   

    ref 必须有值传入。
    out 本方法跳出运行或运行结束时必须赋值给它。
      

  5.   

    void   FunctionName(out   int   param)
    {
    //传入的param必须是未初始化的,需要在此方法内初始化或赋值
    } void   FunctionName(ref   int   param)
    {
    //param 传进来之前已经初始化,在这里可直接使用
      

  6.   

    我基于楼上在补充一点
    void       FunctionName(out       int       param) 

    //传入的param必须是未初始化的,需要在此方法内初始化或赋值 
    这里必须要赋初始值}   void       FunctionName(ref       int       param) 

    //param   传进来之前已经初始化,在这里可直接使用 
    这里可以不给参数赋初始值}   
    具体你也可以看看http://hi.baidu.com/totop/blog/item/debb5d10cf705efcc3ce79f7.html。
      

  7.   

    说说我的理解
    ref我用在想修改实例的一些值,但不想重复创建相同实例时.
    out用于需要返回两个的值,比较登录验证,我想返回一个bool和错误信息