C# 使用LINQ将值保存到类中的列表中

C# 使用LINQ将值保存到类中的列表中,c#,linq,C#,Linq,我有一个具有字符串列表ImagesUrl属性的类项: public class Item { string Name { get; set; } List<string> ImagesUrl { get; set; } .. } 你怎么看,我不知道如何在LINQ中保存img1..5值。有人能帮我吗 var items = from item in xmlDocument.Descendants("item") select new I

我有一个具有字符串列表ImagesUrl属性的类项:

public class Item
{
    string Name { get; set; }
    List<string> ImagesUrl { get; set; }
    ..
}
你怎么看,我不知道如何在LINQ中保存img1..5值。有人能帮我吗

var items = from item in xmlDocument.Descendants("item")
            select new Item
            {
                Name = item.Element("name").Value,
                ImagesUrl = Enumerable.Range(1,5).Select(x => item.Element("img"+x).Value).ToList();
            };
代码在这里是不言自明的


代码在这里是不言自明的。

通用解决方案独立于imgX元素的计数

            var items = from item in Xml.Descendants("item")
                        select new Item
                        {
                            Name = item.Element("name").Value,
                            ImagesUrl = item.Elements()
                                            .Where(e => e.Name.LocalName.StartsWith("img"))
                                            .Select(e => e.Value)
                                            .ToList()
            };       

与imgX元素计数无关的通用解

            var items = from item in Xml.Descendants("item")
                        select new Item
                        {
                            Name = item.Element("name").Value,
                            ImagesUrl = item.Elements()
                                            .Where(e => e.Name.LocalName.StartsWith("img"))
                                            .Select(e => e.Value)
                                            .ToList()
            };