如何使用 LINQ 从 List[] 中获取数据<string>



我有这段代码,它正在运行,但我想优化。我希望尽可能避免使用foreach部分。有没有办法通过LINQ实现这一点?也就是说,如果LINQ是比循环更好的选择?

        var collaborators = projects.Where(p => p.CollaboratingOrganisations != null
                                        && p.CollaboratingOrganisations.Count > 0)
                                    .Select(p => p.CollaboratingOrganisations).ToArray();
        List<string> collaboratingOrgNameList = new List<string>();
        foreach (var org in collaborators)
        {
            collaboratingOrgNameList.AddRange(org);
        }

您可以进行

  List<string> collaboratingOrgNameList = collaborators.SelectMany(s => s).ToList();

最新更新