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);
相关推荐
云小逸10 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++
玖玥拾10 小时前
Lua 基础语法(二)
开发语言·unity·lua
王的宝库10 小时前
GO常用标准库包
开发语言·后端·golang
geovindu10 小时前
python: Face Recognition
开发语言·后端·python·人脸识别
平头哥技术团队10 小时前
Day 13 | 调 line-height 和 margin:三处间距让名片页脱离模板感
开发语言·前端·javascript·学习·html5
黑马程序员毕设11 小时前
基于Java的仪器管理系统设计与实现
java·开发语言·spring boot·后端·微信小程序
平头哥AI11 小时前
Day 13 | 一个函数回两个值:Go 的 error 是从哪冒出来的
开发语言·后端·golang
asdzx6711 小时前
Python 实现 PDF 文本查找与高亮标注
开发语言·python·pdf
zander25811 小时前
LeetCode 1143. 最长公共子序列
开发语言·python·算法
Sumerking11 小时前
llc_control.c 专项评审(v3 更新版)
c语言·开发语言·算法·obc