aba*_*hev 1 .net c# boolean-logic conditional-operator
返回this.AllowChooseAny.Value?radioSpecific.Checked?UserManager.CurrentUser.IsClient?txtSubject.Text:subjectDropDownList.SelectedItem.Text:String.Empty:UserManager.CurrentUser.IsClient?txtSubject.Text:subjectDropDownList.SelectedItem.Text;
或者以不太复杂的形式:
return any ?
specified ?
isClient ? textbox : dropdown :
empty :
isClient ? textbox : dropdown;
Run Code Online (Sandbox Code Playgroud)
或以示意图形式:
|
any
/ \
specified isClient
/ \ / \
isClient empty textbox dropdown
/ \
textbox dropdown
Run Code Online (Sandbox Code Playgroud)
显然我在两个不同的级别上有一个重复的块.是否可以优化此代码以将它们分成一个?或类似的东西..
您可以将表达式简化为:
if (any && !specified)
{
return empty;
}
else
{
return isClient ? textbox : dropdown;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
430 次 |
| 最近记录: |