• ref


    1. ref:
    int i =0;
    有函数fun(ref i)和fun(i)
    它们的函数体都是{ i = 3;},那么在执行以下两段代码后:
    (1)int i = 0; fun(i); System.Console.WriteLine(i.ToString());
    (2)int i = 0; fun(ref i); System.Console.WriteLine(i.ToString());
    (1)的输出是1,(2)的输出是3,

    2. out:
    int i; //注意,这样个里就是声明了变量i,并木有对其初始化
    有函数fun(ref i)、fun(out i)和fun(i)
    它们的函数体都是{ i = 3;},那么在执行以下三段代码后:
    (1)int i = 0; fun(i); System.Console.WriteLine(i.ToString());
    (2)int i = 0; fun(ref i); System.Console.WriteLine(i.ToString());
    (3)int i = 0; fun(out i); System.Console.WriteLine(i.ToString());
    (1)和(2)在编译的时候都会报错:不准确 CS0165: 用了未赋值的局部变量“i”
    而(3)能正常编译,而且输出3

    最后总结一次:
    Ref和Out这样个2个关键字都能够提供相似的功效,其作用也很像C中的指针变量。稍有不相同之处是:
    用Ref型参数时,传入的参数必须先被初始化。而Out则不要要,对Out而言,就必须在方法中对其完成初始化。
    用Ref和Out时都必须注意,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
    Out更适合用在要要Return多个返回值的地方,而Ref则用在要要被调出使用的方法修改调出使用者的引用的时候。
  • 相关阅读:
    失落时就励志一下
    域名续费一年
    BIM新时代背景下的建筑业技术变革
    培养自信的自己
    吧台人很多
    BlogEngine学习一:操作符重载
    CSS Sprite打造个性化导航
    WinForm中的DataGridView子窗体刷新父窗体备忘
    WinForms下的SliderButtons设计
    GridView中实现DropDownList联动
  • 原文地址:https://www.cnblogs.com/who-else/p/5871415.html
Copyright © 2020-2023  润新知