這是工作人員的偏好(?看我做什麼有),但我喜歡函數式編程堅持如果這就是我開始用。
您可以使用方法替換foreach
語言結構。
curDevice.Personnel.Department.Company.Departments
.SelectMany(department => department.Personnels)
.ToList()
.ForEach(personnel => myPersonnels.Add(personnel);
通常情況下,我們會使用一個較短的參數名代表的發言:
curDevice.Personnel.Department.Company.Departments
.SelectMany(d => d.Personnels)
.ToList()
.ForEach(p => myPersonnels.Add(p);
而且,如果myPersonnels
僅是一個集合,你可以直接創建它:
var myPersonnels = curDevice.Personnel.Department.Company.Departments
.SelectMany(d => d.Personnels)
.ToList();
或者,如果它已經是List<T>
,您可以添加一個IEnumerable<T>
:
myPersonnels.AddRange(
curDevice.Personnel.Department.Company.Departments
.SelectMany(d => d.Personnels)
);
來源
2013-12-20 13:38:31
ken
而下面會工作兩個答案將有助於如果我們知道myPersonnels是 – RoughPlace
@Yakyb是的,我會想象它上面可能會有一個AddRange ... – Rawling