out
关键字通过引用传递参数。
方法定义和调用方法必须显式使用out关键字;
调用方法时参数不必初始化,方法内必须对其赋值;
参数中可以声明多个out修饰的参数。
例:
public void UseOut( out int num)
{
//必须对参数num赋值
num = ;
} public void Index()
{
//声明num不用必须初始化
int num;
UseOut(out num); //输出20
Response.Write(num);
}
将上述代码改为:
public void UseOut( out int num)
{
//必须对参数num赋值
num = ;
} public void Index()
{
//声明num不用必须初始化
int num;
UseOut(out num); //输出True
Response.Write(num==);
}
上述例子引出“重试模式”的概念,这里不作阐述,重试模式返回一个boo,表示操作成功与否。许多分析方法(比如DataTime.TryParse)用到了此模式。
int.TryParse()在c#7.0上的优化(这里只是用带out的int.TryParse()方法举例)
c#6.0之前的语法
string number = "";
int num;
int.TryParse(number, out num);
c#7.0之后的语法
string number = "";
int.TryParse(number,out int num);
OR
string number = "";
int.TryParse(number,out var num);
关于out关键字先写到这里了。