У меня есть List<T>
от objects
с несколькими полями. Как я могу наиболее эффективно выполнять поиск в этом списке, чтобы найти некоего object
? Сейчас я просто сделать для loop
, который выглядит следующим образом:Как наиболее эффективно искать список объектов?
for(int i = 0; i < theList.Count; i++)
{
if (theList[i].certainField == whatImLookingFor)
{
doSomething();
break;//to exit for loop to prevent unnecessary processing
}
}
Есть более эффективный способ, которым я могу идти об этом? Обычно это одно и тоже поле, и я его тоже сравниваю. Я подумал, может быть, использовать словарь, но я не совсем уверен, должен ли я это делать.
Это остановится на первом найденном вами объекте, это то, что вы хотите ? – fge
Спасибо за комментарий. Да, я всегда ищу только один конкретный объект в Списке. – Daniel
Ну, тогда я не понимаю, как это можно улучшить, создав словарь, если только ваш список объектов _really_ огромный. Я бы отправился за «Картой», если вы действительно искали несколько объектов, но, поскольку вы остановились на первом, вам потребуется больше времени на создание словаря, чем поиск того, как вы сейчас это делаете. – fge