Я просматриваю общий список, чтобы найти элементы на основе определенного параметра.
В общем, что было бы лучшей и быстрой реализацией?
1. Перебирать каждый элемент в списке, сохранять каждое совпадение в новый список и возвращать его.
foreach(string s in list)
{
if(s == "match")
{
newList.Add(s);
}
}
return newList;
Или
2. Используя метод FindAll и передавая ему делегат.
newList = list.FindAll(delegate(string s){return s == "match";});
Разве они оба не работают за ~ O(N)? Что было бы лучшей практикой здесь?
С уважением, Джонатан