powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq Создание массива из подэлементов, без вложенности
3 сообщений из 3, страница 1 из 1
Linq Создание массива из подэлементов, без вложенности
    #37325854
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<Category>() 
            { 
                new Category() { 
                    CategoryId = 1,
                    Elements = new List<Element>() {
                        new Element() {  ElementId = 1, ElementName = "Name1" } ,
                        new Element() {  ElementId = 2, ElementName = "Name2" } ,
                        new Element() {  ElementId = 3, ElementName = "Name3" } 
                    } 
                } ,
                new Category() { 
                    CategoryId = 2,
                    Elements = new List<Element>() {
                        new Element() {  ElementId = 4, ElementName = "Name4" } ,
                        new Element() {  ElementId = 5, ElementName = "Name5" } ,
                        new Element() {  ElementId = 6, ElementName = "Name6" } 
                    } 
                } 
            };
            var listOfElements = list.Select(x => x.Elements.ToList()).ToList(); // Здесь получается массив в массиве, что мне не надо
            // Чтобы просто создать массив елементов без подмассива делаю так
            List<Element> resultElements = new List<Element>();
            foreach (var item in listOfElements) resultElements.AddRange(item);
            // resultElements - Это то что нужно, но через foreach, как сделать чтобы было короче, с помощью линка

        }
    }

    public class Category 
    {
        public int CategoryId { get; set; }
        public List<Element> Elements { get; set; }
    }

    public class Element
    {
        public int ElementId { get; set; }
        public String ElementName { get; set; }
    }

В общем привел выше пример, как сделать так чтобы в итоге получить массив элементов без использования цикла foreach? Потому что эта запись var listOfElements = list.Select(x => x.Elements.ToList()).ToList() - приводить к тому что получается массив массивов типа Element, то есть List<List<ELement>>, а мне надо, чтобы просто List<Element>, как в линке просуммировать к уже выбранным эелементам.?
...
Рейтинг: 0 / 0
Linq Создание массива из подэлементов, без вложенности
    #37326169
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
list.SelectMany(x => x.Elements).ToList();
...
Рейтинг: 0 / 0
Linq Создание массива из подэлементов, без вложенности
    #37326298
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stimpi,
Спасибо большое, я просто раньше с selectMany имел дело только при join-е таблиц, оказывается и так можно, спасибо!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq Создание массива из подэлементов, без вложенности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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