gpt4 book ai didi

c# - 将字符转换为 bool 值

转载 作者:行者123 更新时间:2023-11-30 20:28:40 24 4
gpt4 key购买 nike

在 C++ 中假定为假,而所有其他值都为真。我的印象是在 C# 中这个概念是相同的。

我正在尝试将 char 转换为 bool。

char c = (char)0;
Convert.ToBoolean(c).Dump();

似乎无论我尝试转换什么字符,我总是会出错

Invalid cast from 'Char' to 'Boolean

我知道如果我编写自己的自定义函数可以解决这个问题,但我想了解的是。

此方法的目的是什么,将什么 Char 值转换为 Bool?

最佳答案

你说:

I was under the impression that in C# this concept was the same.

你错了。它不是。这两种语言在这方面的行为不同,您根本无法将 Char 转换为 Boolean

文档清楚地表明该方法总是失败:

Calling this method always throws InvalidCastException.

和...

Return Value

Type: System.Boolean

This conversion is not supported. No value is returned.

Char.ToBoolean() 的来源证明:

[__DynamicallyInvokable]
bool IConvertible.ToBoolean(IFormatProvider provider)
{
object[] values = new object[] { "Char", "Boolean" };
throw new InvalidCastException(Environment.GetResourceString("InvalidCast_FromTo", values));
}

由于 Char 类继承自 IConvertible,因此需要提供重载。但是由于这种转换是不可能的,所以总是返回一个异常。

关于c# - 将字符转换为 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46962064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com