zoukankan      html  css  js  c++  java
  • 第七节、C#方法参数传递方式 关键字(out 、ref)

    C#方法的参数有几种类型

    1. 值参数(就是简单的类型)
    2. 引用型参数(以ref修饰声明)
    3. 输出参数(以out修饰声明)
    4. 数组型参数(以params修饰声明)
    5. 对象型参数(以一个对象修饰声明)

    值类型传递(最终参数值不会改变):

    方法简单的值参数,传进去值在方法更改,但当控制传递回调过程时,不会保留更改值。

    简单理解:方法传的值参数在方法中即使更改了参数值,最终也是不会改变。

    引用类型传递(最终值改变):

    out与ref(都是按地址传递的,使用后将改变原来参数的数值)

    out:地址/引用传递,调用时该参数不需要先初始化,被调用方负责该参数的初始化(简记“只出不进”)。适用于多个返回值,如果只有一个返回值,直接用函数返回值就行,。

    ref:地址/引用传递,调用时该参数必需已经初始化(简记“有进有出”)。适用于 当控制权传递回调方法时,在方法中对参数的任何更改都将反映在该变量中就用ref;

    总结:

    1. 使用ref型参数时,传入的参数必需先被初始化,对于out而言,必需在方法中对其完成初始化。
    2. 使用ref和out时,在方法的参数和直接方法时,都要加ref或者out关键字,以满足匹配。
    3. out适用于需要返回多个值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
  • 相关阅读:
    Documents
    gitlab 安装和配置
    git相关知识
    马俊龙ansible教程分享
    源码安装python 报错,openssl: error while loading shared libraries: libssl.so.1.1
    jumpserver 常见错误解决
    nginx 定义:响应头和请求头
    gcc入门(下)
    gcc入门(上)
    awk命令
  • 原文地址:https://www.cnblogs.com/liuzz/p/14472044.html
Copyright © 2011-2022 走看看