使用Linq是否有更好的方法来编写以下内容。
需要检查bool返回的值是否为true和false
string checkvalue = nodeIterator.Current.Value.ToString();
if (checkvalue == "true")
{
taxSpecification = 3;
}
else if (checkvalue == "false")
{
taxSpecification = 3;
}
答案 0 :(得分:0)
您可以解析字符串以返回bool:
bool myBool;
if (!bool.TryParse(checkvalue, out myBool)
throw new Exception("This is not a valid bool");
...
如果您想要更通用的方法(即字符串可能不是有效的TryParse值):
if(new[] {"true", "false"}.Contains(checkvalue))
taxSpecification = 3;
这并没有真正解决Linq部分,但可以帮助循环体。
答案 1 :(得分:0)
试试这个
var checkvalue = "false";
bool myRes = false;
int tax = 0;
if (bool.TryParse(checkvalue, out myRes))
{
tax = (myRes) ? 3 : 4;
}
答案 2 :(得分:0)
没有Linq,但你可以把它写成
if (checkvalue == "true" || checkvalue == "false")
{
taxSpecification = 3;
}else
{
// wrong input
}
答案 3 :(得分:0)
为什么在简单的.Net 2.0逻辑足够
时使用LINQ或一些奇特的东西switch (nodeIterator.Current.Value.ToString())
{
case "true":
case "false":
taxSpecification = 3;
break;
}