C#的ref和out使用

这篇具有很好参考价值的文章主要介绍了C#的ref和out使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ref和out是C#中用于参数传递的关键字,它们都允许在方法内部修改参数的值,区别如下:

1、ref关键字:使用ref关键字声明的参数,在方法调用前必须被初始化,并且可以被视为已经赋予了一个初始值。在方法内部对ref参数的修改会影响到方法外部传入的实参,也就是说,我在方法内部修改了局部的值,那么全员变量的值也会被修改

public class test : MonoBehaviour
{
    [SerializeField] int a;
    // Start is called before the first frame update
    void Start()
    {
        XiuGai(ref a);
    }

    // Update is called once per frame
    void XiuGai(ref int b)
    {
        b = 100;
    }
}

C#的ref和out使用,C#,c#,unity

2、out关键字:使用out关键字声明的参数,在方法内部不需要被初始化,可视为未赋初始值。在方法内部必须对out参数进行赋值,否则会导致编译错误。与ref关键字不同,out参数可以在方法内部确定其值,也就是说方法内部必须对局部变量赋值

public class test : MonoBehaviour
{
    [SerializeField] int a;
    // Start is called before the first frame update
    void Start()
    {
        XiuGai(out a);
    }

    void XiuGai2(out int b)
    {
        b = 50;
    }
}

C#的ref和out使用,C#,c#,unity  

3、总结:ref传的值在方法内部可以不修改其值,out则必须修改

4、这个可以用在任务管理器,或者需要实时更新的参数上,用途还是很大的文章来源地址https://www.toymoban.com/news/detail-596642.html

到了这里,关于C#的ref和out使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#out、ref和params参数

    out参数用于传递一个方法的输出值。它表示在方法内部,该参数没有被初始化,而是由方法赋值。方法结束后,该参数会被赋予一个值。 在使用out参数时,调用方法时必须指定该参数,并且不需先进行初始化。 out参数可以在方法内部定义,并且可以定义多个。 ref参数用于在

    2024年02月13日
    浏览(47)
  • (04)基础强化:接口,类型转换cast/convert,异常处理,传参params/ref/out,判断同一对象

         1、New的截断是指什么?              new除了新开空间创建初始化对象外,还有一个 隐藏 父类同名方法的作用。                  当子类想要隐藏父类同名的方法时用new,用了new后父类同名方法将到此为止,后面         继承的子类,将再也继承不到父类的同

    2024年02月01日
    浏览(46)
  • C#中的ref关键字

    1、传递的是参数的值(数据的副本)而不是原始数据本身。 2、函数内部对值参数的修改不会影响到原始数据。 3、通常用于传递基本数据类型(如整数、浮点数、布尔值)或不可变对象(如字符串、元组)。 4、值参数的传递是一种传值调用(Call by Value)。 示例代码 运行结

    2024年02月05日
    浏览(50)
  • C#中数组=out参数?

    点击查看代码 https://blog.csdn.net/weixin_44806070/article/details/107882525 https://www.cnblogs.com/mdnx/archive/2012/09/04/2671060.html

    2024年02月13日
    浏览(44)
  • C#中out关键字

    在C#中可以使用out,指定所给的参数是一个输出参数。out的使用方式与ref相同,都是在函数定义和函数调用中用作参数的修饰符。 运行结果,如下图所示: 实际上,out的执行方式与引用参数几乎完全一样,因为在函数执行完毕后,该参数的值将返回给函数

    2024年02月05日
    浏览(53)
  • C#中的`out`关键字

    C# 中的 out 是一个用来在方法调用时传递数据的修饰符。它允许你在方法内部创建一个临时的变量,用于接收传递进来的参数值,并在方法执行完毕后,将该变量的值返回给调用方法的对象。out 主要用于那些需要知道方法执行结果的参数上。 在 C# 中,out

    2024年02月22日
    浏览(65)
  • C#中数组参数=out参数?

    点击查看代码 https://blog.csdn.net/weixin_44806070/article/details/107882525 https://www.cnblogs.com/mdnx/archive/2012/09/04/2671060.html

    2024年02月13日
    浏览(41)
  • Unity使用C# Protobuf源码

    目录 第一步:下载源码 第二步:运行C#构建文件  第三步:处理报错(如果你已安装对应的SDK则不会报错) 第四步:复制库文件到你的工程 protobuf github源码 https://github.com/protocolbuffers/protobuf 下载后解压源码,得到文件夹protobuf-main protobuf的源码在protobuf-maincsharpsrc里,但不要

    2024年02月13日
    浏览(31)
  • Unity使用c#开发遇上的问题(一)(c#中无法引入input,双击unity中的c#文件无反应,unity中刚体设置后仍然穿越问题)

    闲着无聊,想用unity编一编小游戏,遇上的坑(一) 我使用的是vs2019,unity版本是2022.1,下载器Hub。 在asset中创建c#脚本移动cube。在写入X,Y偏移量时没有unity引擎的Input函数。 解决方法: 1.首选项中设置中文语言。

    2024年02月07日
    浏览(59)
  • Unity之C#端使用protobuf

    protobuf全称Protocol Buffers,由Google推出的一种平台、语言无关的数据交互格式,目前使用最广泛的一种数据格式,尤其在网络传输过程中,有很强的安全性,而且数据量比json和xml要小很多。 最主要的是protobuf支持的语言非常多,不管你是.net,java,lua,iOS,android,python,go,等

    2023年04月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包