c#XElement linq,返回bool

时间:2017-03-28 11:33:10

标签: c# linq-to-xml

我需要从包含1或0

的字段返回bool类型
<auto>1</auto>

代码

    public bool GetBooksAuto()
    {
        return (bool)xd.Elements("root").Elements("books").Elements("auto")
            .Select(x => x)
            .Any();
    }

可以写在一个返回行中,还是应该测试1和0的字符串。 谢谢!

2 个答案:

答案 0 :(得分:4)

如果您想检查auto元素中的任何元素是否具有值1

xd.Elements("root").Elements("books").Elements("auto")
    .Select(a => (int)a == 1) // here you get true if value is 1 and false if 0
    .Any()

您可以将条件直接放入Any运算符:

xd.Elements("root").Elements("books").Elements("auto").Any(a => (int)a == 1)

答案 1 :(得分:1)

return xd.Elements("root").Elements("books").Elements("auto")
                      .FirstOrDefault() != null;