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);
相关推荐
程序喵大人9 分钟前
推荐个C++高性能内存分配器
开发语言·c++·内存分配
liu****12 分钟前
27.epoll(三)
服务器·开发语言·网络·tcp/ip·udp
福尔摩斯张14 分钟前
Axios源码深度解析:前端请求库设计精髓
c语言·开发语言·前端·数据结构·游戏·排序算法
zephyr0518 分钟前
深入浅出C++多态:从虚函数到动态绑定的完全指南
开发语言·c++
Chef_Chen23 分钟前
数据科学每日总结--Day25--区块链
开发语言·php
L-李俊漩25 分钟前
MMN-MnnLlmChat 启动顺序解析
开发语言·python·mnn
小镇学者33 分钟前
【PHP】PHP WebShell(网页木马)分析
android·开发语言·php
q***697739 分钟前
java进阶1——JVM
java·开发语言·jvm
沐知全栈开发40 分钟前
PHP $_GET 变量详解
开发语言
七七墨染42 分钟前
DotMemory系列:5. 如何实现自动化抓取和应用自托管
运维·c#·自动化