C#基础--Ref与Out区别

两者都是按地址传递的,使用后都将改变原来参数的数值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Program
   {
       static void Main(string[] args)
       {
            
           int num = 1;
           Method(ref num);
           Console.WriteLine(num);
           Console.ReadKey();
       }
       public static void Method(ref int num)
       {
           num += 5;
       }
   }

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Program
  {
      static void Main(string[] args)
      {
          
          int num = 1;
          Method(out num);
          Console.WriteLine(num);
          Console.ReadKey();
      }
      public static void Method(out int num)
      {
          num = 5;
          num++;
      }
  }<br><br>

一:关于调用前初始值
ref作为参数的函数在调用前,实参必须赋初始值。否则编译器将提示:使用了未赋值的局部变量;

out作为参数的函数在调用前,实参可以不赋初始值。

二:关于调用
在被调用函数内,out引入的参数在返回前至少赋值一次,否则编译器将提示:使用了未赋值的out参数;

           在被调用函数内,ref引入的参数在返回前不必为其赋初值。

posted @   QueryWord  阅读(173)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件
点击右上角即可分享
微信分享提示