linq不会迭代列表

dav*_*rld 1 .net c# linq linq-to-xml

我写了以下代码

List<Pupils> pupils = PupilsDAO.SelectDAO();
XElement dtpupil = new XElement("DtDatas",
                from xlist in pupils
                orderby xlist.Id
                    select new XElement("DtData",
                        new XElement("ref", xlist.Id),
                        new XElement("forename", xlist.Forename),
                        new XElement("surname", xlist.Surname)
                    )
            );
Run Code Online (Sandbox Code Playgroud)

我没有为列表中的每个元素获取不同的XML对象,而是为列表中的每个项目获取输出,但它们都是相同的而不是实际迭代,所以只需加载...

<DtDatas>
   <DtData>
      <ref>01</ref>
      <forename>joe</forename>
      <surname>bloggs</surname>
   </DtData>
 <DtData>
      <ref>01</ref>
      <forename>joe</forename>
      <surname>bloggs</surname>
   </DtData>
 <DtData>
      <ref>01</ref>
      <forename>joe</forename>
      <surname>bloggs</surname>
   </DtData>
 <DtData>
      <ref>01</ref>
      <forename>joe</forename>
      <surname>bloggs</surname>
   </DtData>
</DtDatas>
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?我是不是要为列表添加迭代?

Jon*_*eet 5

你提出的代码很好.这表明列表中的数据不正确.可能的选择:

  • 您将多次向列表添加相同的引用,并且只是在构造列表的任何循环中重复地改变相同的对象.
  • 您正在使用静态变量来支持属性

如果您可以发布Pupils课程和SelectDAO方法,我们应该能够提供更多帮助.