Как получить некоторые свойства из списка, используя лямбда-выражение в c # - PullRequest
2 голосов
/ 24 мая 2019

У меня есть список клиентов, как показано ниже

 List<Customer> customers = new List<Customer>()
            {
                new Customer{Id=1,Name="Abc",Address="USA",Mobile="78978797989" },
                new Customer{Id=2,Name="XYZ",Address="UK",Mobile="985654454545" },
                new Customer{Id=3,Name="Kafus",Address="London",Mobile="06548754555" }
            };

Я хочу создать список только с идентификатором и именем из списка выше, что означает, что мне нужно только 2 свойства в моем новом объекте списка.

Я пытаюсь создать подобный код, но я не использую лямбда-выражение

var lists = customers.Select(s=>s.Id,s=>s.Name).ToList();

Но я получаю ошибку Может кто-нибудь помочь мне с лямбда-выражением получить списки с двумя свойствами, т.е. Idи имя

Ответы [ 2 ]

1 голос
/ 24 мая 2019

Используйте Tuple, если вы любите лямбду:

var list = customers.Select(x => new Tuple<int, string>(x.Id, x.Name)).ToList();

или

var list = customers.Select(x => new { x.Id, x.Name }).ToList();
1 голос
/ 24 мая 2019

Как сказал @Sweeper

Вы должны использовать синтаксис Анонимные типы

и еще один способ , чтобы сделать это:

var list = (from customer in customers select new { customer.Id, customer.Name }).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...