我目前所拥有的:
bool okPress = !string.IsNullOrEmpty(Ctx.Request["okPress"]) &&
Convert.ToBoolean(Ctx.Request["okPress"]);
如果我在这里错了,请纠正我,但是如果字符串不是“
FormatException
/true
”或“True
/false
”,这不会抛出False
吗?有什么方法可以在一行中处理转换,而不必担心异常?还是我需要使用Boolean.TryParse
? 最佳答案
您可以使用 Boolean.TryParse
:
bool okPress;
bool success = Boolean.TryParse(Ctx.Request["okPress"]), out okPress);
对于它的值(value),这里是“单线”,创建以下扩展,这可能在LINQ查询中特别有用:
public static bool TryGetBool(this string item)
{
bool b;
Boolean.TryParse(item, out b);
return b;
}
和写:
bool okPress = Ctx.Request["okPress"].TryGetBool();
关于c# - 字符串到 boolean 内联转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15761443/