首页 > 编程语言 >c# ref和out的区别

c# ref和out的区别

时间:2024-02-01 22:33:36浏览次数:21  
标签:函数 c# void int static ref out

前言

ref和out的作用主要是解决函数内更改函数外变量的值

ref和out关键字

class Progrom
{
    //在形参声明前加关键字ref
    static void TestRef(ref int v)
    {
        v = 10;
    }

    static void TestOut(out int v)
    {
        v = 10;
    }
    static void Main()
    {
        int a = 1;
        //调用时也要在实参前加入相对应的关键字
        TestRef(ref a);
        TestOut(out a);
    }
}

ref和out都可以实现在函数内部修改函数外变量的值,那么ref和out有什么区别呢

  • ref传入的变量必须初始化
  • out传入的变量在函数结束前必须赋值

标签:函数,c#,void,int,static,ref,out
From: https://www.cnblogs.com/blwjw/p/18002277

相关文章

  • flannel网络插件替换calico网络插件
    在十一或者五一的时候,公司大楼装修断电,关闭服务器,启动之后发现flannel网卡不好使了,在部署K8S1.28.2出现flannel.1和cni网段不一致的情况。尝试了删除cni0网卡但是删除后cni0网卡不会重新创建:ifconfigcni0downifconfigflannel.1downiplinkdeletecni0iplinkdeletef......
  • 离线解锁 CodeCombat 全关卡教程 使用docker安装实现
    前期准备下载安装dockerdesktophttps://www.123pan.com/s/fmvUVv-HqApH,这个安装不会的随便搜一个教程,挺多的。我随便找了一个知乎的Windows10Docker安装详细教程下载数据dump.tar.gzhttps://www.123pan.com/s/fmvUVv-hqApH开始打开cmd拉镜像dockerpulloper......
  • ASP.NET Core中JsonResult和ObjectResult的用法
    ​  在ASP.NETCore中,JsonResult和ObjectResult是两种用于返回数据的ActionResult类型,它们在控制器中用来生成HTTP响应。选择使用JsonResult还是ObjectResult取决于具体需求。如只需要返回JSON格式的数据,JsonResult是一个简单且直接的选择。如果API需要支持多种响应格式,则Obje......
  • WC 2024 游记
    终于能在最后一年赶上线下WC了!去年的是线上所以没有写游记。定义1月29号为Day1,没有Day0。Day-16学考考完了,终于不用学whk了!Day-13在学校发烧了,回家休息了差不多一个星期,模拟赛纯摆烂,课也没有听。Day-8休息好了回校。晚上在ARC和填学籍表之间选择了ARC,结......
  • Lucas 定理
    Lucas定理,一般用于求某组合数对某质数取模的值,即\(\binom{n}{m}\bmodp\)。一般来说,这种东西有一堆求法。\(n,m\)小的话可以直接递推,\(p>n\)可以根据定义\(\binom{n}{m}=\frac{n!}{m!(n-m)!}\)预处理阶乘和阶乘的逆元求。但是如果\(p\len\),阁下又当如何应对?此时你......
  • 【Azure Function】Function本地调试时遇见跨域问题(blocked by CORS policy)
    问题描述在本地调试AzureFunction时,遇见了跨域问题:AccesstoXMLHttpRequestat'http://localhost:7071/api/HttpTriggerToken?tenantId=b7f6f99f-3045-412a-8828-b3044070857e&documentId=6a8ffc27-026f-498e-9936-f6c55db558e5&userId=test-user&userName=Test+User......
  • SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据实测!
    开发目的: 提高百万级数据插入效率。采取方案: 利用ThreadPoolTaskExecutor多线程批量插入。采用技术: springboot2.1.1+mybatisPlus3.0.6+swagger2.5.0+Lombok1.18.4+postgresql+ThreadPoolTaskExecutor等。application-dev.properties添加线程池配置信息#异步线程配置#配置核......
  • UniGUI使用ADO组件、调用数据库的存储过程、生成EXECL表的例子
    UniGUI使用ADO组件、调用数据库的存储过程、生成EXECL表的例子(自己学习记录一下,不一定合理,仅供参考)本例子是使用ADO等组件连接一个云服务器的一个数据库,调用GetOrg存储过程,把机构信息展现把结果导出的一个EXECL表里,并下载把显示的HSate的值进行替换1表示正常,其他表示暂停......
  • SharePoint Online 启用网站集 App Catalog
    前言最近,有个项目需要使用SharePointFramework解决方案,但是,网站集没有启用对应的AppCatalog功能,所有,就需要用PowerShell来进行启用。正文下面就是对应的命令,我这里用了UseWebLogin,意思是会弹出一个登录的Web界面,从里面输入管理员的账号密码,然后用来执行下面......
  • 华为显卡已经支持pytorch计算框架
    相关链接:https://support.huawei.com/enterprise/zh/doc/EDOC1100079287/a21c08dehttps://www.zhihu.com/question/624955377/answer/3240350483https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies/pies_00004.htmlAscend/pytorch项目地址:https:......