条件c#三元操作符语句,用于执行Void返回类型的方法



如何使用coalescing Operator根据true或false值来选择方法调用,如下所示:

  1. Request.QueryString = ="新"?NewPage(): OldPage();
  2. Request.QueryString = ="黑"?BlackMonie (): Request.QueySTring = ="白"?WhiteMonie (): tac ();

而不是使用存储变量调用常见的合并操作符,如下所示:字符串s= color=="r"?

从你的问题中不太清楚,但我假设NewPage()OldPage()都是void方法。

所以,你不能像你所建议的那样使用三元操作符,而不进入大量混乱的代码,返回需要调用的操作。

并且似乎没有什么好处试图让这个工作,因为内置的if, else关键字非常接近你想要的。

以下是?:操作符与标准if代码的建议使用:

Request.QueryString == "new" ? NewPage() : OldPage();
if (Request.QueryString == "new") NewPage(); else OldPage();

相差7个字符。

我会坚持使用标准的if方法。

可以将这些方法分配给适当的委托类型,然后调用该委托:

var someCall = Request.QueryString=="new" ? new Action(NewPage) : new Action(OldPage);
someCall();

您只需要在您的三元操作符语句中使用正确的语法,如下面的示例所示(参见MSDN ref https://msdn.microsoft.com/en-us/library/zakwfxx4%28v=vs.90%29.aspx):

)
string _test = (Request.QueryString=="new")? NewPage() : OldPage() ;

希望这能有所帮助。最好的祝福,

相关内容

  • 没有找到相关文章

最新更新