Как называются эти 2 выражения LINQ?
Я пытаюсь найти правильные имена для этих 2 "типов" выражений кодирования в LINQ, чтобы я мог ссылаться на них правильно. Я хочу сказать, что первый называется "Свободный стиль"?
var selectVar = arrayVar.Select( (a,i) => new { Line = a });
var selectVar =
from s in arrayVar
select new { Line = s };
3 ответа
Решение
- Первый - вызов метода расширения. Этот стиль кодирования называется " плавный интерфейс", как вы упомянули.
- Второй метод называется языком интегрированного запроса
Первое даже не на самом деле linq, это лямбда-выражение, с созданным объектом, инвариантным к типу. (а) => новый {бла = б}
Второй - это запрос linq, заполняющий класс "на лету" со свойством Line. В этом нет оператора hashrocket, так что этот просто старый linq.
Имя второй формы - "синтаксис понимания запроса", который компилятор переводит в первую форму.