Разница в производительности между ToList () и AsEnumerable - PullRequest
0 голосов
/ 08 мая 2020

Недавно мы начали использовать плагин sonarLint в Visual Studio для улучшения качества кода и покрытия. После этого мы получаем предложение заменить Tolist () на ASEnumerable.

Текст ошибки : отбросьте этот бесполезный вызов в 'ToList' или замените его на 'AsEnumerable', если вы используете LINQ to Entities.

Объект, для которого создается исключение, извлекается с использованием dapper, а его тип данных - IEnumaerable.

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Если вам нужно обрабатывать каждый элемент только по одному, AsEnumerable позволит вам обрабатывать каждый элемент, пока возвращаются результаты запроса. Разрешение сборщику мусора удалять объекты из памяти до того, как вы закончите, что может снизить пиковое использование памяти.

Приведет ли это к заметному повышению производительности? Это зависит от множества других факторов.

0 голосов
/ 08 мая 2020

ToList () и AsEnumberable () имеют потенциальные различия в производительности. Вы можете найти следующую ссылку полезной

{ ссылка }

...