我想对以下IF声明做一些澄清。我知道这种说法可以用很多不同的方式写出来......那不是我要问的。我很好奇为什么ReSharper 7告诉我比较canceled == true
是多余的。
bool canceled;
if (Boolean.TryParse(Request.QueryString["cancel"], out canceled) &&
canceled == true)
{
// Transaction canceled...
}
据我了解,Boolean.TryParse()
将根据转化成功返回true / false,而不是out参数的实际结果。为什么那么比较canceled == true
是多余的?那时候很可能是假的,对吗?
答案 0 :(得分:9)
只需使用
if (Boolean.TryParse(Request.QueryString["cancel"], out canceled) && canceled)
{
// Transaction canceled...
}
由于canceled
不可为空,因此您无需明确与true
布尔值进行比较,因为(canceled == true) == canceled
。