有没有更好的方法来使用 Linq 编写以下内容。
需要检查一个bool返回的值是真还是假
string checkvalue = nodeIterator.Current.Value.ToString();
if (checkvalue == "true")
{
taxSpecification = 3;
}
else if (checkvalue == "false")
{
taxSpecification = 3;
}
没有 Linq,但你可以写成
if (checkvalue == "true" || checkvalue == "false")
{
taxSpecification = 3;
}else
{
// wrong input
}
您可以解析字符串以返回布尔值:
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 部分,但可以帮助循环体。
尝试这个
var checkvalue = "false";
bool myRes = false;
int tax = 0;
if (bool.TryParse(checkvalue, out myRes))
{
tax = (myRes) ? 3 : 4;
}
当一个简单的 .Net 2.0 逻辑就足够时,为什么要使用 LINQ 或一些花哨的东西
switch (nodeIterator.Current.Value.ToString())
{
case "true":
case "false":
taxSpecification = 3;
break;
}