c#参数修饰符-out

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关键字先写到这里了。

 

posted @ 2018-07-19 14:29  paulhe  阅读(361)  评论(0编辑  收藏  举报
friendster counter