В моем проекте, я реализовал класс обслуживания, который имеет функцию именования GetList(), которая выглядит следующим образом:Что более эффективно в этом случае? LINQ Query или FOREACH?
IList<SUB_HEAD> GetList(string u)
{
var collection = (from s in context.DB.SUB_HEAD where (s.head_code.Equals(u))
select s);
return collection.ToList();
}
, который также может быть реализован как
Arraylist unitlist= new Arraylist();
ObjectSet<SUB_HEAD> List = subheadService.GetAll();
foreach(SUB_HEAD unit in List)
{
unitlist.Add(unit.sub_head_code);
}
Цель этого является заполнить выпадающее меню.
Мой вопрос в том, что «какой из вышеперечисленных методов будет более эффективен в отношении обработки?» потому что в моем проекте много мест, где мне нужно использовать раскрывающееся меню.
'ArrayList' ???, забыть производительность просто не использовать' ArrayList' – Habib
Они оба являются «O (n)». Разница в производительности обычного пользовательского интерфейса почти наверняка будет несущественной. Используйте запрос Linq и рассмотрите некоторые вещи, которые на самом деле будут иметь значение, например кэширование. –
Вы заметите, что запрос LINQ фильтрует на 'Equals (u)', который цикл foreach не делает ... – PinnyM