zoukankan      html  css  js  c++  java
  • C#中值参数、ref参数、out参数和params四种参数的区别

    值参数:声明是不加任何修饰的参数,它表明实参和形参之间按值传递,当使用值参数的方法被调用时,编译器为形参分配存储单元,然后将对应的实参的值复制到形参中,由于是值类型的传递方式,所以在方法中对形参的修改,并不会影响实参。

    ref参数:ref参数使用形参按引用传递,在方法中,对形参所做的任何更改都将反映在实参中,如果是要用ref参数,则方法声明和方法调用都必须显示的使用ref关键字。

    out参数:out键字用来定义输出参数,它会导致参数通过引用来传递,这与ref参数类似,不同之处在于ref要求变量必须在传递之前进行赋值,而使用out关键字定义的参数不用进行赋值即可使用。如果要使用out参数,则方法声明和方法调用都必须显示的使用out关键字。

    params参数:声明方法时,如果有多个相同类型的参数,可以定义为params参数,params参数是一个一维数组,主要用来指定在参数数目可变时所采用的方法参数。

    使用ref参数时,需注意:

    1.ref关键字只对跟在他后面的参数有效,而不是应用于整个参数列表。

    2.调用方法时必须使用ref修饰实参,而且因为是引用参数,所以实参和实参的参数类型一定要完全匹配。

    3.实参只能是变量,不能是常量或者表达式。

    4.ref参数在调用之前一定要进行赋值。

  • 相关阅读:
    MongoDB权限验证
    【大型网站开发系列第一篇】——网站结构层次
    php5.4的htmlspecialchars处理中文
    将session值字符串重新生成session
    php支持短标签
    solr suggest+autocomplete实现自动提示
    linux命令
    【技术】【转】字节序问题大端法小端法
    eeePC(易PC)变态测试!(上)
    "挑iPod不问价"就是不懂“性价比”?
  • 原文地址:https://www.cnblogs.com/AranNice/p/13920597.html
Copyright © 2011-2022 走看看