У меня есть следующие List<Dictionary<string, string>>
Основные пары:Группировка списка ключей Значение словарей в C# с помощью LINQ
Как бы написать мой запрос Linq, так что у меня есть только 1 словарь, где значения сгруппированы по ключу?
У меня есть следующие List<Dictionary<string, string>>
Основные пары:Группировка списка ключей Значение словарей в C# с помощью LINQ
Как бы написать мой запрос Linq, так что у меня есть только 1 словарь, где значения сгруппированы по ключу?
var result = data.SelectMany(item => item)
.GroupBy(item => item.Key)
.ToDictionary(key => key.Key, value => value.Select(i => i.Value).ToList());
Для данного входа:
List<Dictionary<string, string>> data = new List<Dictionary<string, string>>
{
new Dictionary<string, string>
{
["Category"] = "99",
["Role"] = "11",
["Level"] = "22",
["BillaleDays"] = "33",
},
new Dictionary<string, string>
{
["Category"] = "55",
["Role"] = "66",
["Level"] = "77",
["BillaleDays"] = "88",
}
};
Результат является:
Category : (99,55)
Role : (11,66)
Level : (22,77)
BillableDays : (33,88)
@ Josh L - Рад, что он помог :) –
Работает как шарм! Я не использовал функцию .ToDictionary правильно. еще раз спасибо –
List<Dictionary<string, string>> data = new List<Dictionary<string,string>>
{
new Dictionary<string, string>
{
["Name"] = "one",
["Age"] = "22"
},
new Dictionary<string, string>
{
["Name"] = "two",
["Age"] = "88",
}
};
var result = data.SelectMany(item => item)
.GroupBy(item => item.Key)
.ToDictionary(key => key.Key, value => value.Select(i => i.Value).ToList());
Выход: Name:"one,"two", Age:"22","88"
Это очень близко к тому, что я хочу, однако я хочу группировать по ключу не значение, так что один ключ имеет несколько значений, связанных с ним. –
вы можете заменить ключ InPlace значения и наоборот словарь <ИНТ Список
@ Josh Я отредактировал свой ответ в соответствии с вашим требованием, попробуйте его один раз и сообщите мне, есть ли какие-либо проблемы. – Meena
Пытались ли вы что-нибудь? Linq имеет 'GroupBy' и' ToDictionary' –
Предоставьте код, который вы пробовали до сих пор. Какая ошибка вы столкнулись, если таковая имеется? Это не платформа «Comunity, do work for me». – phifi
Также ..... Кажется, вы можете заменить эти словари классом, который имеет 4 свойства. –