ref 关键字可以将传入的参数转换成引用类型(int本来是值类型,但是加了ref之后转成引用类型,而在调用该函数时参数前也要加ref)
out 关键字和ref关键字一样,不过ref参数在传递之前要先进行初始化,但是out的参数一定要在函数里面进行赋值(也就是说传进去的参数可以没有初始化,但是在里面一定要对该参数进行赋值)
eg:如果要判断一个字符是否是整数类型,可以这样写(顺便说一下TryParse的用法):
protected string DigResult(string input)
{
//定义一个整型变量,可以先不初始化
int result;
//调用int.TryParse()方法判断输入是否为整数,如果是就把input赋给result
//当该函数执行完毕,result已经被赋值了,所以说out不需要在变量定义的时候初始化
if (int.TryParse(input, out result))
{
return result;
}
else
{
return "";
}
}
{
//定义一个整型变量,可以先不初始化
int result;
//调用int.TryParse()方法判断输入是否为整数,如果是就把input赋给result
//当该函数执行完毕,result已经被赋值了,所以说out不需要在变量定义的时候初始化
if (int.TryParse(input, out result))
{
return result;
}
else
{
return "";
}
}