我有一个项目对象数组。
IEnumerable<Project> projects = GetProjects();
每个项目都有一个名为“应用程序”的属性,它是一个字符串数组。
IEnumerable<string> applicationsForProject = project.Applications();
一些项目有 1 个应用程序(数组中的 1 个元素),但其他项目有很多。
我想按单个应用程序对我的所有项目进行分组,以便生成如下所示的视图:
- 应用程序 1:10 个项目
- 应用 2:4 个项目
- 应用 3:5 个项目
如果我这样做:
var projectsByApp = projects.GroupBy(r=>r.Applications);
这将不是按不同的应用程序分组,而是按列表分组,所以我最终会在我的视图中得到重复的行(因为项目 1 可能有 App1 和 App 2,而项目 2 可能只有 App 2)
有没有更好的方法在项目数组中按不同的应用程序名称进行分组?