Когда не следует использовать LINQ To Objects? - PullRequest
1 голос
/ 10 сентября 2009

Когда мне НЕ использовать LINQ To Objects?

Вопрос обратный этому вопросу был задан, но не охватывал, когда не использовать L2O.

Ответы [ 4 ]

1 голос
/ 10 сентября 2009

Я согласен с другими, а именно:

  • № 3,0 +
  • Производительность не представляет большой проблемы

Однако еще один добавленный к списку факт - это может привести к плохой практике кодирования. Простой (и, возможно, глупый) пример слишком легко использует метод .Distinct(). То же самое относится к SQL, иногда ярлыки дают неверный код, который может привести к неизвестным и чертовски трудным для обнаружения ошибок.

Полагаю, это может случиться с чем угодно, но ярлыки могут облегчить плохое кодирование.

1 голос
/ 10 сентября 2009

Одной из причин является то, что производительность не то, что вам нужно. Если базовая реализация IEnumerable не имеет индексатора, вызовы Last(), Skip(), ElementAt() и т. Д. Могут привести к O (Bad) perf.

0 голосов
/ 10 сентября 2009

Перефразируя, когда:

  • У вас нет коллекции некоторых элементов данных
  • Вам не нужна другая коллекция, сформированная из исходной коллекции, но после некоторого преобразования или фильтрации. Это может быть сортировка, проекция, применение предиката, группировка и т. Д.

В резюме, когда вы не будете манипулировать какой-либо группой объектов. А также, конечно, когда у вас нет c # 3.0 или выше.

0 голосов
/ 10 сентября 2009

Для меня, когда у меня нет такого выбора при программировании в проектах на основе .Net 2.0.

...