首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串a;a.ToBoolean(...) & IConvertible

字符串a;a.ToBoolean(...) & IConvertible
EN

Stack Overflow用户
提问于 2011-08-27 06:22:18
回答 2查看 721关注 0票数 3

在Mono 2.10 REPL中使用:

代码语言:javascript
复制
csharp> string a = "true";
csharp> a.ToBoolean(CultureInfo.InvariantCulture);
{interactive}(1,4): error CS1061: Type `string' does not contain a definition fo
r `ToBoolean' and no extension method `ToBoolean' of type `string' could be foun
d (are you missing a using directive or an assembly reference?)
C:\PROGRA~1\MONO-2~1.2\lib\mono\4.0\mscorlib.dll (Location of the symbol related
 to previous error)


csharp> ((IConvertible)a).ToBoolean(CultureInfo.InvariantCulture);
true
csharp>

根据文档,System.String实现了IConvertible。如果这是真的,为什么

代码语言:javascript
复制
a.ToBoolean(CultureInfo.InvariantCulture);

失败?

为什么我必须将它转换为IConvertible才能使ToBoolean工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-27 06:27:15

正如the documentation for ToBoolan() for string on MSDN所说:

此成员为an explicit interface member implementation。只有在将String实例强制转换为IConvertible接口时,才能使用它。推荐的替代方法是调用Convert.ToBoolean(String)方法。

票数 7
EN

Stack Overflow用户

发布于 2011-08-27 06:26:27

该接口是显式实现的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7211114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档