Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ: Можно ли получить новый объект? / 10 сообщений из 10, страница 1 из 1
26.11.2019, 16:22
    #39894560
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
Есть такая структура в JSON
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
{
  "spot": {
    "alias": "sp1",
    "category": "1"
  },
  "sol": {
    "alias": "t10",
    "category": "3"
  },
  "top": {
    "alias": "or2",
    "category": "10"
  }
}



Как получить посредством одного LINQ-запроса вот такую структуру:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[
    {
    "name_cat": "spot",
    "alias": "sp1",
    "category":"1"
    },
    {
    "name_cat": "spot",
    "alias": "sp1",
    "category": "3"
    },
    {
    "name_cat": "spot",
    "alias": "sp1",
    "category": "10"
    }
]
...
Рейтинг: 0 / 0
26.11.2019, 16:23
    #39894561
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
Соррян ошибочка

вот такая нужна

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[
    {
    "name_cat": "spot",
    "alias": "sp1",
    "category":"1"
    },
    {
    "name_cat": "sol",
    "alias": "t10",
    "category": "3"
    },
    {
    "name_cat": "top",
    "alias": "or2",
    "category": "10"
    }
]
...
Рейтинг: 0 / 0
26.11.2019, 16:47
    #39894575
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
RegisteredUser
Соррян ошибочка
Модератор: Если кто-то вдруг еще не заметил, обращаю внимание, что на форуме появилась возможность редактировать сообщенияТолько прошу здесь не обсуждать, в "Обсуждении нашего форума" есть специальная тема
...
Рейтинг: 0 / 0
26.11.2019, 18:03
    #39894639
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
Коллеги!
"В тупую" получилось вот так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
            List<Dictionary<string, string>> arrCategory = new List<Dictionary<string, string>>();

            foreach (var kvp in resp.Data)
            {
                foreach (var keyName in kvp.Keys)
                {
                    foreach (var valueAll in kvp.Values) {

                        valueAll.Add("name_cat", keyName);

                        Dictionary<string, string> dicBuffer = new Dictionary<string, string>();

                        foreach (var valueAdd in valueAll) {
                            dicBuffer.Add(valueAdd.Key, valueAdd.Value);
                        }
                        arrCategory.Add(dicBuffer);
                    }
                }
            }



НО хочется красиво.
...
Рейтинг: 0 / 0
26.11.2019, 22:48
    #39894760
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
RegisteredUser,

чёт не пойму в чём сложность

начните на входе у вас словарь словарей

Dictionary<string, Dictionary<string, string>> dd;

ну

dd.Select(p => ...)

в чём сложность?
...
Рейтинг: 0 / 0
27.11.2019, 12:34
    #39894985
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
hVostt
RegisteredUser,

чёт не пойму в чём сложность

начните на входе у вас словарь словарей

Dictionary<string, Dictionary<string, string>> dd;

ну

dd.Select(p => ...)

в чём сложность?


на входе у меня
Код: c#
1.
List<Dictionary<string, Dictionary<string, string>>>
...
Рейтинг: 0 / 0
27.11.2019, 12:40
    #39894991
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
...
Рейтинг: 0 / 0
27.11.2019, 12:44
    #39894995
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
RegisteredUser,

ну и в чём проблема

ваша коллекция на входе list

list.Select(p => ...)

трудность в чём?
...
Рейтинг: 0 / 0
27.11.2019, 16:40
    #39895159
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
hVostt
RegisteredUser,

ну и в чём проблема

ваша коллекция на входе list

list.Select(p => ...)

трудность в чём?

Есть небольшая трудность - нет Select )))
...
Рейтинг: 0 / 0
28.11.2019, 06:06
    #39895332
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ: Можно ли получить новый объект?
RegisteredUser
Есть небольшая трудность - нет Select )))

Код: c#
1.
using System.Linq;
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ: Можно ли получить новый объект? / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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