给定一个返回单个字符串值的oracle查询,要从查询中获取值,我使用以下两行:
var result = cmd.ExecuteOracleScalar();
return result != null ? ((OracleString)result).Value : null;
此语句中的“!= null”以“合并条件表达式”的建议为下划线。如果我接受该建议,则将其更改为:
return ((OracleString)result).Value;
抛出异常,因为对于多次执行,返回的值将为null。
是否有使用三元运算符但没有此警告?
请注意,如果我将代码更改为:
var result = cmd.ExecuteOracleScalar();
if (result == null)
return null;
return ((OracleString)result).Value;
Resharper然后首先建议我“转换为返回语句”,它只是将其更改回使用三元运算符。
任何建议?
答案 0 :(得分:3)
这看起来就像RSRP-434610中确定的错误:
该问题的修复版本为9.1,仅在几天前发布,但watch out trying to upgrade from within VS。