Как можно Dictionary вывести в виде?:
key1
val1
val2
val3
key2
val1
val2
val3
Сам Dictionary подразумевает хранение данных в виде Key=Value, где один Key
содержит только один Value
. Но, благо Value у нас может содержать почти любой объект, а это значит, что мы без труда можем добавлять туда коллекции.
Вот пример простейшего словаря с массивом:
Dictionary<string, string[]> dictionary = new Dictionary<string, string[]>
{
["key1"] = new[]
{
"val1",
"val2",
"val3",
},
["key2"] = new[]
{
"val1",
"val2",
"val3",
},
};
Если надо добавить что то, то мы смело можем сделать следующее:
dictionary.Add("key3", new []{"val1", "val2"});
Изменение значений, самое простое:
dictionary["key2"][0] = "val11";
Ну и вывод того, что вы хотите:
foreach (var item in dictionary)
{
Console.WriteLine($"{item.Key}");
foreach (var val in item.Value)
{
Console.WriteLine(" " + val);
}
}
Ну или можем извратиться и сделать вывод через LINQ:
var result = dictionary.Aggregate(new StringBuilder(),
(sb, kvp) => sb.AppendLine(kvp.Key).AppendLine(string.Join("\n", kvp.Value.Select(x => $" {x}"))),
builder => builder.ToString());
Console.Write(result);
Результат:
key1
val1
val2
val3
key2
val1
val2
val3
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо программно нажать на кнопку qt приложения,которое открыто без отображения окнаКак отловить кнопку для дальнейшего взаимодействия?
Итак, допустим у нас есть следующий код:
После нажатия на кнопку, должно содержимое DataGrid должно экспортироваться в XML при помощи сериализации, но происходит ошибка: