Sobes.tech
Back to questions
Junior — Middle
58

Какие виды LINQ-запросов вам известны и в чем их отличие?

Companies where asked
Элисофт

Answer from AI

sobes.tech AI

В LINQ (Language Integrated Query) в C# существуют два основных вида запросов:

  1. Query syntax (синтаксис запросов) — похож на SQL и использует ключевые слова from, where, select и т.д. Этот стиль более декларативен и удобен для сложных запросов.

  2. Method syntax (методический синтаксис) — использует цепочки вызовов методов расширения, таких как Where(), Select(), OrderBy() и т.д. Этот стиль более гибкий и позволяет использовать лямбда-выражения.

Отличия:

  • Query syntax более читаем для тех, кто знаком с SQL.
  • Method syntax даёт больше контроля и возможностей, особенно для сложных операций.

Пример:

// Query syntax
var result1 = from item in collection
              where item.Age > 18
              select item.Name;

// Method syntax
var result2 = collection.Where(item => item.Age > 18)
                        .Select(item => item.Name);

Оба подхода компилируются в одинаковый код и могут использоваться взаимозаменяемо.