c# XElement linq, return 布尔

c# XElement linq, return bool

我需要 return 来自包含 1 或 0 的字段的 bool 类型

<auto>1</auto>

代码

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

可以写在 return 行中,或者我应该测试 1 和 0 的字符串。 谢谢!

如果要检查 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)
return xd.Elements("root").Elements("books").Elements("auto")
                      .FirstOrDefault() != null;