我目前所拥有的:

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/

10-11 00:07