15 августа 2014 г.

Частая ошибка №4: Использование итеративных (вместо декларативных) выражений для работы с коллекциями. Перевод.

Оглавление

Добавление языка интегрированных запросов (LINQ) в C# 3.0 навсегда изменило способ работы с коллекциями. С тех пор, если вы используете итеративные выражения для работы с коллекциями, то вы не используете LINQ там, где, скорее всего, должны были бы.
Некоторые C# программисты даже не знают о существовании LINQ, но, к счастью, их число становится все меньше и меньше. Некоторые до сих пор думают что из-за сходства ключевых слов LINQ и выражений SQL, использовать его стоит только в коде, работающем с базами данных.

Хотя в запросах к БД использование LINQ очень распространено, фактически его можно использовать с любыми перечисляемыми коллекциями (т.е. объектами, реализующими интерфейс IEnumerable). Например, если у вас есть массив счетов вместо того чтобы писать:


вы можете просто написать:


Хотя это и достаточно простой пример, существуют ситуации, когда одно выражение LINQ может легко заменить десятки выражений внутри цикла (или вложенных циклов) в вашем коде. А меньше кода в общем означает меньше возможностей для появления ошибок. Однако, стоит помнить что здесь может быть компромисс, если речь идет о производительности. Там где это важно не забудьте сделать сравнение производительности этих двух подходов.

2 комментария: