powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ключевое слово new в лямбда операторов
5 сообщений из 5, страница 1 из 1
Ключевое слово new в лямбда операторов
    #38587566
_jt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, что означает "new" в этом выражении:
Код: c#
1.
2.
3.
4.
5.
6.
var query = context.Products
        .Select(product => new
        {
            ProductId = product.ProductID,
            ProductName = product.Name
        });
...
Рейтинг: 0 / 0
Ключевое слово new в лямбда операторов
    #38587578
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_jt, new здесь обозначает создание объекта как и в любом другом контексте. Создаем мы анонимный объект используя синтаксис object initializer выполняя т.н. проекцию чтобы получить только часть полей.
...
Рейтинг: 0 / 0
Ключевое слово new в лямбда операторов
    #38587586
_jt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется понял. Получается что это не лямбда операторов,а лямбда выражение создающее объект анонимного типа и инициализирующее его свойства?
...
Рейтинг: 0 / 0
Ключевое слово new в лямбда операторов
    #38587603
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_jt, Не надо путать лямбда-оператор с лямбда-выражением.

Зто лямбда-выражение:
Код: c#
1.
product => new { ProductId = product.ProductID, ProductName = product.Name }

Где => это лямбда оператор разделяющий аргументы и тело анонимной функции. new { } оператор создания нового объекта. То что мы испольузем new { } внутри лямбды не означает, что они взаимосвязаны. Анонимный объект можно создать в виде отдельной переменной, если это необходимо:
Код: c#
1.
var person = new { Id = 1, Name = "John Doe" };
...
Рейтинг: 0 / 0
Ключевое слово new в лямбда операторов
    #38587609
_jt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, спасибо
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ключевое слово new в лямбда операторов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]