我想對Student
對象列表應用篩選器。我發現三種方式來做到這一點:收益率,FindAll和局部變量之間的比較
第一種方式
通過使用FindAll
List<Student> liste = Admin.GetStudentList().FindAll(x => x.Age > 20);
第二種方式
它使用yield
關鍵字的方法
public List<Student> GetStudentListByAge(int age){
foreach(Student s in Admin.GetStudentList()){
if(s.Age > age) yield return s;
}
}
第三條道路
使用本地列表:
public List<Student> GetStudentListByAge(int age){
List<Student> list2 = new List<Student>();
foreach(Student s in Admin.GetStudentList()){
if(s.Age > age) list2.Add(s);
}
return list2;
}
所以,我需要知道什麼是它的最佳方法是什麼?爲什麼?在哪些情況下?
爲什麼不使用LINQ的'Where'? – wudzik
是的,這是另一種可能性。所以我需要哪一個是最好的 –
最好的?最快的?最可讀?最不可能失敗?你的要求是什麼,你是否做過任何測試和試驗以找出哪一個最適合你? – Default