производительность linq orderby.tolist () - PullRequest
4 голосов
/ 15 февраля 2011

У меня есть запрос заказа в список и звонил много раз.list = list.OrderBy().ToList(); В этом коде метод ToList () тратит большие ресурсы и занимает очень много времени.Как я могу ускорить с другим методом заказа без преобразования обратно в список.Должен ли я использовать расширение .Sort для массивов?

Ответы [ 2 ]

5 голосов
/ 15 февраля 2011

Прежде всего, попробуйте отсортировать список один раз и сохранить его отсортированным.

Для ускорения работы вы можете использовать Parallel LINQ.

см .: http://msdn.microsoft.com/en-us/magazine/cc163329.aspx

Параллель OrderBy () выглядит следующим образом:

 var query = data.AsParallel().Where(x => p(x)).Orderby(x => k(x)).ToList();
0 голосов
/ 15 февраля 2011

Вам нужно всего лишь вызвать ToList () один раз, чтобы получить отсортированный список.Все будущие действия должны использовать sortedList.

sortedList = list.OrderBy().ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...