Лучше ли вызывать ToList () или ToArray () в запросах LINQ?

Я часто сталкиваюсь со случаем, когда хочу проверить запрос именно там, где я его объявляю. Обычно это потому, что мне нужно повторить его несколько разand это дорого вычислять. Например:

string raw = "...";
var lines = (from l in raw.Split('\n')
             let ll = l.Trim()
             where !string.IsNullOrEmpty(ll)
             select ll).ToList();

Это отлично работает.But если я не собираюсь изменять результат, я мог бы такжеToArray() вместоToList().

Интересно однакоToArray() реализуется путем первого вызоваToList() и, следовательно, менее эффективно использовать память, чем просто вызовToList().

Я сумасшедший? Должен ли я просто позвонитьToArray() - безопасно и надежно знать, что память не будет распределяться дважды?

Ответы на вопрос(15)

Ваш ответ на вопрос