1

我前段时间在一些博客中读到(抱歉含糊不清)我可以使用如下所示的 linq

var list = from c in xml
           select new 
           {
              foreach(XElement el in c.Elements())
              {
              }
           }

有谁知道这是可能的还是只是我的想象?

谢谢。

4

4 回答 4

4

您不能foreach直接在匿名类型初始化表达式中使用循环,不。

如果您能告诉我们您想要实现的目标,我们可能会帮助您找到实现目标的最佳方式。

于 2009-06-01T14:04:35.153 回答
2

您可以使用 ToList() 函数将元素转换为 List 列表,然后您可以在其上使用 ForEach 方法。仅供参考,当使用 LinqToXml 时,我发现 Descendants() 更有用,因为它将全面深入到对象模型中。

xml.Elements().ToList().ForEach(ele => DoSomething(ele));
于 2009-12-05T19:40:31.577 回答
1

这是你的想象。您可以在 foreach 循环中使用 linq 查询的结果,但不能在匿名类型的声明中使用类似的 foreach 循环。

于 2009-06-01T14:04:52.423 回答
0

好的,我有一个包含两部分的 xml,首先声明 xml 中的字段,第二部分具有与第一部分中的声明关联的数据。所以我要做的是,阅读第一个字段定义并使用它在第二部分中创建数据的匿名类。尽量不要在程序中进行硬编码,因为我们从具有不同字段定义的不同来源获取数据。

于 2009-06-01T14:26:01.023 回答