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);