通过在c#中对属性进行分组来创建新列表

时间:2017-10-12 05:31:47

标签: c#

我有以下

class public class Pages
{

    public string PageName { get; set; }

    public string PageUrl { get; set; }

    public string Name { get; set; }
}

public class PageMaster 
{

    public string AppName { get; set; }
    public Pages[] Pages{ get; set; }
}

我需要创建一个" PageMaster"来自一系列包含重复"名称"在里面。即"名称"在Pages中是" AppName"在PageMaster中

1 个答案:

答案 0 :(得分:0)

您可以尝试使用GroupBy

var pageMasters = listOfPages.GroupBy(page=>page.PageName)
                             .Select(gr=>new PageMaster
                             { 
                                 AppName = gr.Key,
                                 Pages = gr.Select(p=>p).ToArray()
                             })
                             .ToList();