您现在的位置是:首页 > .NET

.NET

无法将类型"string"隐式转换为"bool"分析

2020-11-21 11:30:02 .NET admin
好吧,我承认,这只是用来凑数的一篇文章,因为这个问题太简单了,但又因为最近有好几个同学在群中问到该问题,所以就出来了这么一篇。回到正题--string是引用类型,虽然在C#中把它当值变量一样用,但我们要知道,它的确是引用类型,只是它用的比较
好吧,我承认,这只是用来凑数的一篇文章,因为这个问题太简单了,但又因为最近有好几个同学在群中问到该问题,所以就出来了这么一篇。

回到正题--
string是引用类型,虽然在C#中把它当值变量一样用,但我们要知道,它的确是引用类型,只是它用的比较特别多,所以C#把它特殊处理了。
bool是值类型,其值只能是true与false。

如果非要将string类型转换为bool类型,那么也只能将"true"与"false"通过bool.Parse()或Convert.ToBoolean()来转换。换句话说,string字符串中除了"true"与"false",其它都不可以转换为bool类型,当然"true"与"false"不限大小写。

如下:
stringstr="true";
boolb=bool.Parse(str);
boolc=Convert.ToBoolean(str);