我可以在 C# 中实现从字符串到布尔值的隐式 'conversion' 吗?

Can I implement an implicit 'conversion' from string to boolean in C#?

有什么方法可以使用 C# 实现从 stringbool 隐式 转换?

例如我的字符串 str 的值为 Y,当我尝试转换(转换)为 boolean 时,它必须 return true.

没有。您不能创建用户定义的转换,它们既不转换为声明的类型,也不转换自声明的类型。

最接近的是扩展方法,例如

public static bool ToBoolean(this string text)
{
    return text == "Y"; // Or whatever
}

然后您可以使用:

bool result = text.ToBoolean();

但是您不能将其设为隐式转换 - 即使您可以,为了便于阅读,我建议您不要这样做。

这是一个可用于任何字符串的扩展方法。

public static bool ToBoolean(this string input)
{
    var stringTrueValues = new[] { "true", "ok", "yes", "1", "y" };
    return stringTrueValues.Contains(input.ToLower());
}

以下是使用此扩展方法的示例:

Console.WriteLine("y".ToBoolean());

结果将是 True

您需要自己制作方法。没有办法只将字符串转换为布尔值。我相信,如果字符串不为空,您最终会得到 true。只需创建一个布尔方法,如果传递的字符串是 y 则 returns 为真,否则为假