2016-04-21 67 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

相關問題