这是有意义的吗?MyValue 可以是 "true" 或者 "false"
应不应该是 Stringcomparison.OrdinalIgnoreCase ?
MyValue.Equals("true", StringComparison.CurrentCultureIgnoreCase))
这是有意义的吗?MyValue 可以是 "true" 或者 "false"
应不应该是 Stringcomparison.OrdinalIgnoreCase ?
MyValue.Equals("true", StringComparison.CurrentCultureIgnoreCase))
我不会这样做。仅仅因为一个字符串不等于"true"
并不意味着它等于"false"
。这是让丑陋的错误悄然产生的简单方式。我认为你应该解析这个字符串。
bool value;
if(!Boolean.TryParse(MyValue, out value)) {
// it did not parse
}
// it parsed
OrdinalIgnoreCase
。Bool.Parse
TryParse
。不要让令人烦恼的异常发生。 - jasonTryParse
。 - JodrellTryParse
的返回值并相应地处理。 - jason
MyValue.ToLower().Equals("true")
- Amen AyachToLower
是与文化相关的,因此不应用于非与文化相关的比较。这样的事情可能会在本地化应用程序中引入难以发现的错误。 - Daniel Hilgarth