out
关键字经过引用传递参数。c#
方法定义和调用方法必须显式使用out关键字;优化
调用方法时参数没必要初始化,方法内必须对其赋值;spa
参数中能够声明多个out修饰的参数。code
例:blog
public void UseOut( out int num) { //必须对参数num赋值 num = 20; } public void Index() { //声明num不用必须初始化 int num; UseOut(out num); //输出20 Response.Write(num); }
将上述代码改成:string
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)用到了此模式。it
int.TryParse()在c#7.0上的优化(这里只是用带out的int.TryParse()方法举例)class
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关键字先写到这里了。