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);
相关推荐
IT数据小能手6 分钟前
使用Go语言实现高效的数据挖掘
开发语言·golang·数据挖掘
xy1899020 分钟前
C++线程安全是如何保证的?线程不安全是如何出现的?有什么处理方案呢
开发语言·c++·安全
方程式sunny24 分钟前
C#的五大设计原则-solid原则
开发语言·c#
IT数据小能手29 分钟前
PHP多线程爬虫:高效解析电商网页内容
开发语言·爬虫·php
范范082532 分钟前
Symfony实战手册:PHP框架的高级应用技巧
开发语言·php·symfony
新手村领路人37 分钟前
macos m2 百度paddleocr文字识别 python
开发语言·python·macos
ItKevin爱java41 分钟前
java八股文面试题
java·开发语言
※※冰馨※※41 分钟前
Visual Studo 2019 无法启动
开发语言·c#
大浪淘沙胡1 小时前
ListBox自动滚动并限制显示条数
c#
液态不合群1 小时前
在C#中使用RabbitMQ做个简单的发送邮件小项目 _
c#·rabbitmq·ruby