對某個對象作空值檢測的時候,結合三元運算符給某變量賦值的時候,R#提示:"Simplify conditional ternary expression" ;express
R#建議對該種寫法進行簡寫優化;優化
咱們能夠按住 Alt+Enter ,接受R#的建議,則代碼優化以下:spa
bool isFuzzySearch = context.Request["IsFuzzySearch"] != null && bool.Parse(context.Request["IsFuzzySearch"]);
優化後的代碼中,一樣存在空值檢測,只不過使用 != ,同時三元運算符改成了 && ,也就是說只有當 context.Request["IsFuzzySearch"] != null 爲真的時候,纔會執行 bool.Parse(context.Request["IsFuzzySearch"]),最終結果一樣知足了業務邏輯;3d
優化後的代碼在語義上和優化前的代碼是等價的,R#一般更喜歡更簡潔的方式,特別是,條件中使用"true" 和"false",R#會認爲其是冗餘代碼的標記;code
#參考:對象
https://stackoverflow.com/questions/14621907/simplify-conditional-ternary-expressionblog
——————————————————————————————————————————get