ToB企服应用市场:ToB评测及商务社交产业平台
标题:
C#值传递引用传递
[打印本页]
作者:
海哥
时间:
2023-3-10 02:52
标题:
C#值传递引用传递
C#参数修饰
ref修饰符:
使用ref修饰符可以
使参数成为一个引用类型
,从而允许我们在函数中修改该参数的值。如果我们将一个变量传递给一个使用ref修饰符的参数,那么任何对
该参数的修改都将影响到原始变量的值
。例如:
void MyFunction(ref int myParam)
{
myParam = myParam * 2;
}
int myVar = 10;//必须要有初值
MyFunction(ref myVar);
// myVar的值现在为20
复制代码
out修饰符:
使用out修饰符也可以
使参数成为一个引用类型
,但它
通常用于返回多个值
。与ref不同,
当我们使用out修饰符时,我们必须在函数中对该参数进行初始化
。例如:
void MyFunction(out int myParam)
{
myParam = 10;
}
int myVar;//不一定需要初值,但需要在方法内修改或赋值
MyFunction(out myVar);
// myVar的值现在为10
复制代码
params修饰符:
使用params修饰符可以
使函数接受可变数量的参数
。该
参数必须是数组类型,并且必须是函数的最后一个参数
。例如:
void MyFunction(params int[] myParams)
{
foreach (int p in myParams)
{
Console.WriteLine(p);
}
}
MyFunction(1, 2, 3, 4, 5);
// 输出1, 2, 3, 4, 5
复制代码
in修饰符:
使用in修饰符可以
将参数声明为只读
。这
意味着函数不能修改该参数的值,并且可以使函数更加安全和可预测
。例如:
void MyFunction(in int myParam)
{
// myParam = 20; // 编译错误
}
int myVar = 10;
MyFunction(in myVar);
复制代码
参数修改
out修饰参数必须要再方法内修改
ref可以修改也可以不修改
ref无法在方法调用时,直接创建参数,因为ref需要有初值才能调用, 因为直接创建ref参数不一定有给其赋值
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4