如果我宣布了 bool isTrue = false; // init it to false
我可以从a获得价值 string strVal = T; // I assumed it is the TRUE value
我听说在C#中比较字符串并不是一个好的代码风格
if (isTrue.tostring() == strVal) {}.
有一段时间,我将字符串变量转换为枚举然后我可以比较它更方便.
有什么好方法吗?
是的,首先将字符串解析为布尔值.
试试这个:
bool someBool = false;
string boolVal = "true";
bool stringBool;
bool.TryParse(boolVal, out stringBool);
if (someBool == boolVal)
{
}
Run Code Online (Sandbox Code Playgroud)
或者处理'T'和'F'尝试以下方法:
public bool ParseString(string maybeBool)
{
return ParseString(maybeBool, false);
}
public bool ParseString(string maybeBool, bool def)
{
bool stringBool;
if (bool.TryParse(maybeBool, out stringBool))
return stringBool;
if (string.Equals(maybeBool, "T", StringComparison.OrdinalIgnoreCase))
return true;
if (string.Equals(maybeBool, "F", StringComparison.OrdinalIgnoreCase))
return false;
return def;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14547 次 |
最近记录: |