Я ищу эмпирические правила для вызова ToList/ToArray/MemoizeAll(Rx)
on IEnumerables
, а не возврата самого запроса при возврате IEnumerable
чего-то.
Часто я нахожу, что лучше просто вернуть запрос и позволить вызывающему абоненту решить, нужен ли список или нет, но иногда он может вернуться и укусить вас в тылу из-за ленивой природы linq.
Я хочу собрать рекомендации, такие как:
Вызов ToList, если:
- вы создаете новые объекты (например, при выборе)
- у вас есть побочные эффекты в вашем запросе
В противном случае верните запрос