【Resharper】C# 「Simplify conditional ternary expression」

#事故現場:

  對某個對象作空值檢測的時候,結合三元運算符給某變量賦值的時候,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

相關文章
相關標籤/搜索