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);
相关推荐
前端 贾公子1 分钟前
uni-app 也能使用 App.vue?解决 uniapp 无法使用公共组件问题
开发语言·前端·javascript
Mem0rin1 分钟前
[Rust]模块关键词和哈希表
开发语言·rust
lars_lhuan5 分钟前
Go 方法
开发语言·后端·golang
灰色小旋风6 分钟前
力扣 12 整数转罗马数字 C++
开发语言·c++·leetcode
LONGZETECH11 分钟前
智能网联汽车故障诊断仿真教学软件技术解析——C/S架构落地与全模块实现
c语言·开发语言·架构·汽车·汽车仿真教学软件·汽车教学软件·智能网联汽车软件
JIes__12 分钟前
lua语法——基础知识总结
开发语言·lua
_OP_CHEN15 分钟前
【MySQL数据库基础】(五)MySQL 数据类型深度解析:选对类型 = 性能拉满!
linux·开发语言·数据库·sql·mysql·数据类型·c/c++
LONGZETECH18 分钟前
汽车车身测量与结构件更换仿真教学系统架构全解析
c语言·开发语言·架构·系统架构·汽车·汽车教学软件·智能网联汽车软件
l143723326720 分钟前
短剧多语种翻译的技术难点:为什么AI翻译比人工翻译更适合出海?
开发语言·人工智能·php
学编程就要猛26 分钟前
JavaEE:多线程初阶
java·开发语言·jvm