Convert.ToBoolean("1")在C#中抛出System.Format异常

Roh*_*nsi 14 c#

为什么

Convert.ToBoolean("1") 
Run Code Online (Sandbox Code Playgroud)

扔一个System.FormatException

我应该如何进行此转换?

Jon*_*eet 24

是的,这是记录在案的:

[throws] FormatException [if] value不等于TrueString或FalseString.

TrueString是"真实的"并且FalseString是"假的".

如果要检测字符串是否为"1",请使用以下代码:

bool foo = text == "1";
Run Code Online (Sandbox Code Playgroud)

  • @Rohit:无需使用条件运算符.只做`Boolean someBool = ddlSpeechRecognition.SelectedItem.Value =="1";` (2认同)

hel*_*ium 5

取决于你想要什么.也许

var result = Convert.ToInt32(yourstirng) != 0
Run Code Online (Sandbox Code Playgroud)

假设任何数字,但0为真.否则,简单的比较就可以了.

var result = yourstirng == "1"
Run Code Online (Sandbox Code Playgroud)