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);
相关推荐
资生算法程序员_畅想家_剑魔12 分钟前
Java常见技术分享-12-多线程安全-锁机制
java·开发语言
胡楚昊28 分钟前
NSSCTF动调题包通关
开发语言·javascript·算法
2401_8370885035 分钟前
简要总结 HashSet 和 HashMap(Java)
java·开发语言
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于Java的家政服务管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
小白学大数据1 小时前
Java 爬虫对百科词条分类信息的抓取与处理
java·开发语言·爬虫
bjzhang751 小时前
C#操作SQLite数据库
数据库·sqlite·c#
zmzb01031 小时前
C++课后习题训练记录Day56
开发语言·c++
编程小Y1 小时前
C++ Insights
开发语言·c++
小c君tt2 小时前
QT中想在QTextEdit控件中使用Qslog日志输出出现问题原因及解决方法
开发语言·qt
历程里程碑2 小时前
hot 206
java·开发语言·数据结构·c++·python·算法·排序算法