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