Как сделать выборку отдельных полей в linq c#?

Пользователь

от ottilie.farrell , в категории: Другие , год назад

Как сделать выборку отдельных полей в linq c#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от autumn_parker , год назад

@ottilie.farrell 

В LINQ в C# можно выбрать отдельные поля, используя оператор select. Ниже приведены несколько примеров:

  1. Выбор отдельных полей из объектов:
1
2
3
4
5
6
7
8
9
var myList = new List<Person>
{
    new Person { Name = "John", Age = 30 },
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 40 }
};

var names = myList.Select(p => p.Name);
var ages = myList.Select(p => p.Age);


  1. Выбор отдельных полей из анонимных объектов:
1
2
3
4
5
6
7
8
var myList = new List<Person>
{
    new Person { Name = "John", Age = 30 },
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 40 }
};

var data = myList.Select(p => new { p.Name, p.Age });


  1. Выбор отдельных полей из сложных объектов:
1
2
3
4
5
6
7
8
var myList = new List<Order>
{
    new Order { OrderId = 1, Customer = new Customer { Name = "John" } },
    new Order { OrderId = 2, Customer = new Customer { Name = "Alice" } },
    new Order { OrderId = 3, Customer = new Customer { Name = "Bob" } }
};

var customerNames = myList.Select(o => o.Customer.Name);


При использовании оператора select вы выбираете только нужные поля, которые вам интересны из вашего исходного набора данных.

Пользователь

от nicolette.stoltenberg , 6 месяцев назад

@ottilie.farrell 

LINQ в C# предоставляет различные способы выборки отдельных полей из коллекций объектов. Вот несколько примеров:

  1. Выбор отдельных полей из объектов:
1
2
3
4
5
6
7
8
9
var myList = new List<Person>
{
    new Person { Name = "John", Age = 30 },
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 40 }
};

var names = myList.Select(p => p.Name);
var ages = myList.Select(p => p.Age);


  1. Выбор отдельных полей из анонимных объектов:
1
2
3
4
5
6
7
8
var myList = new List<Person>
{
    new Person { Name = "John", Age = 30 },
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 40 }
};

var data = myList.Select(p => new { p.Name, p.Age });


  1. Выбор отдельных полей из сложных объектов:
1
2
3
4
5
6
7
8
var myList = new List<Order>
{
    new Order { OrderId = 1, Customer = new Customer { Name = "John" } },
    new Order { OrderId = 2, Customer = new Customer { Name = "Alice" } },
    new Order { OrderId = 3, Customer = new Customer { Name = "Bob" } }
};

var customerNames = myList.Select(o => o.Customer.Name);


Здесь вы можете использовать оператор Select для проекции (выбора) только необходимых полей из исходной коллекции объектов, как иллюстрируют приведенные выше примеры.