• 第七节、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则用在需要被调用的方法修改调用者的引用的时候。
  • 相关阅读:
    5.Longest Palindrome substring
    3. Longest Substring Without Repeating Characters
    1.Two Sum
    2.Add two Numbers
    oplog
    airflow笔记
    airflow
    grpc protobuf
    modbus
    Linux 工具,一本好书 大牛的博客
  • 原文地址:https://www.cnblogs.com/liuzz/p/14472044.html
Copyright © 2020-2023  润新知