2016-04-21 72 views
-1

我有这个代码正在工作,但我想优化。 尽可能地,我想避免使用foreach部分。有没有办法通过LINQ来实现这一点?那如果LINQ是循环的更好选择呢?如何使用LINQ从列表中获取数据<string> []

 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); 
     } 
+0

为什么我的问题否决? – JADE

回答

3

你可以做

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

这工作完美,谢谢。现在我学到了新东西:) – JADE

相关问题