如果我有一个变量从DB 中提取一串true或
哪一个false,
这将是检查其值的首选方法?
string value = "false";
if(Boolean.Parse(value)){
DoStuff();
}
Run Code Online (Sandbox Code Playgroud)
我知道解析bool有不同的方式 - 这是一个例子
或
string value = "false";
if(value == "true"){
DoStuff();
}
Run Code Online (Sandbox Code Playgroud)
我在数据库string格式中提取了很多真/假值,想知道这些方法是否会产生任何性能差异?
Pro*_*FOX 28
string value = "false";
Boolean parsedValue;
if (Boolean.TryParse(value, out parsedValue))
{
if (parsedValue)
{
// do stuff
}
else
{
// do other stuff
}
}
else
{
// unable to parse
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到的唯一问题是 C# 进行区分大小写的比较,因此如果数据库值为“True”
(value == "true")
Run Code Online (Sandbox Code Playgroud)
会返回假。
但是看示例Boolean.Parse Method
string[] values = { null, String.Empty, "True", "False",
"true", "false", " true ", "0",
"1", "-1", "string" };
foreach (var value in values) {
try {
bool flag = Boolean.Parse(value);
Console.WriteLine("'{0}' --> {1}", value, flag);
}
catch (ArgumentException) {
Console.WriteLine("Cannot parse a null string.");
}
catch (FormatException) {
Console.WriteLine("Cannot parse '{0}'.", value);
}
}
// The example displays the following output:
// Cannot parse a null string.
// Cannot parse ''.
// 'True' --> True
// 'False' --> False
// 'true' --> True
// 'false' --> False
// ' true ' --> True
// Cannot parse '0'.
// Cannot parse '1'.
// Cannot parse '-1'.
// Cannot parse 'string'.
Run Code Online (Sandbox Code Playgroud)
Bool.Parse 似乎更健壮一点。
| 归档时间: |
|
| 查看次数: |
31834 次 |
| 最近记录: |