1. params
使用params关键字可以指定采用数目可变的参数的方法参数。参数类型必须是一维数组。
public class Myclass{
public static void UseParams(params int[] list)
{
for(int i=0;i<list.Length;i++)
{
Console.Write(list[i] + " ");
}
}
}
2. ref
指示参数按引用传递。对于引用而言,对于形参的操作对实参也有效。
传参前必须经过初始化。
可以更改参数值,更改指向对象。
int age = 1;
private static void ChangeByReference(ref int age)
{
age = 10;
}
3. in
in关键词按引用传递参数,但确保未修改参数。
作为in参数传递的变量在方法调用中传递之前必须进行初始化。
int readonlyArument = 44;
void InArgExample(in int number){
//can not change number's value, if so will Compiler errror
}
4. out
out关键词通过引用传递参数,对形参进行的操作也会对实参生效。
可以不用初始化,但是在返回前需要给它赋值。
public void Method(out int i) => i = 11;
out参数声明常用于返回多个值的情况
Method(out argNumber, out argMessage);
- 字符串转化
Int32.TryParse(numberAsString,out int number);
本文介绍了C#中四种不同的参数传递方式:params用于创建可变参数的方法,接受一维数组;ref按引用传递,允许改变实参值;in按引用传递但保证不修改参数;out则强制在方法内初始化并返回多个值,如在TryParse函数中的应用。
2213





