C# —— 方法参数ref和out的作用

cs 复制代码
 public static void Test(ref int a)
 {
     a += 10;
 }
 public static void GetValue(out int x)
 {
     x = 10;

 }

ref 和 out 分别使用在方法的参数前面

ref 关键字可以使参数变成引用类型的参数,

cs 复制代码
int a = 10;
Test(ref a);
Console.WriteLine(a);

如果方法参数不加ref; 结果10,传递的数据是值类型,在方法中进行修改,实参不会跟着变化

// 如果方法参数加上ref ,结果是20,传递的数据是引用类型,在方法进行修改形参,实参会跟着变化

out 关键词,return 关键字用于从函数中返回一个值,只能返回一个值,可以使用out来从函数中返回两个值

ut 输出参数把方法中的一个数据赋值给自己,于引用参数相似

// out 关键字只强调能够返回什么值给外边的变量 不关心传入的是什么样的值,3 在方法内部需要先初始化才能使用

cs 复制代码
int a1 = 0;
GetValue(out a1);// 调用方法 相当于把方法内的x值赋值给a1 下面打印a1的就是10
Console.WriteLine(a1);
相关推荐
海底星光31 分钟前
c# 生产者消费者模式之内存/redis队列实现
redis·c#
froginwe1135 分钟前
C 语言输入与输出详解
开发语言
_童年的回忆_36 分钟前
【PHP】关于守护进程报错:SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
开发语言·oracle·php
少林码僧1 小时前
2.30 传统行业预测神器:为什么GBDT系列算法在企业中最受欢迎
开发语言·人工智能·算法·机器学习·ai·数据分析
CoderCodingNo1 小时前
【GESP】C++六级考试大纲知识点梳理, (7) 栈与队列
开发语言·c++
edisao1 小时前
六、 读者高频疑问解答 & 架构价值延伸
大数据·开发语言·人工智能·科技·架构·php
范纹杉想快点毕业1 小时前
C语言实现埃拉托斯特尼筛法
c语言·开发语言
catchadmin1 小时前
Laravel12 + Vue3 的免费可商用 PHP 管理后台 CatchAdmin V5.1.0 发布 新增 AI AGENTS 配置
开发语言·php
一颗青果1 小时前
auto | 尾置返回类型 | decltype | using | typedef
java·开发语言·算法