2016-10-08 3 views
0

я не знаю, как напечатать это:Printing словарь в C#

enter image description here

в следующем формате:

destroyer: 
192.23.30.40 => 2, 
192.23.30.41 => 1, 
192.23.30.42 => 1 

кто-то может сделать это?

+1

Покажите текущий метод 'PrintDict'. Что происходит не так? Где ты остановился? Что вы пробовали? – user3185569

ответ

0

Вы можете сделать это,

Loop над KeyValuePair в словаре dictAndNames

foreach (KeyValuePair<string, int> item in dictAndNames) 
    { 
     Console.Write(item.Key+"=>" + item.Value.ToString());    
    }  
1

Вы можете использовать LINQ, чтобы получить набор строк, представляющих записи и присоединиться к ним :

Console.WriteLine(string.Join(", ", dictAndNames.Select(pair => $"{pair.Key} => {pair.Value}"))); 

Разъяснение:

// Method to take all the pairs and format them as the string you like: 
Func<KeyValuePair<string, int>, string> selector = 
    pair => $"{pair.Key} => {pair.Value}"; 

// Convert all the elements in the dictionary: 
var values = dictAndNames.Select(selector); 

// Join them with the separator you like (you can also use Environment.NewLine): 
var joined = string.Join(", ", values); 

// Print: 
Console.WriteLine(joined); 

Если вы не используете C# 6, как указано, вы можете просто заменить строку интерполяции с string.Format вызова:

string.Format("{0} => {1}", pair.Key, pair.Value) 
+0

Примечание. Использование '$' (строчная интерполяция) будет работать только в C# 6.0 и выше –

0

MMM оба пути не работа, мне также нужно напечатать «разрушитель», но уничтожить должен быть напечатан из словаря, когда я попробую

`foreach (KeyValuePair<string, int> item in dictAndNames) 

{ Console.Write (item.Key + "=>" + item.Value.ToString());
} `

есть ошибка, что не могу конвертировать, и когда я пытаюсь это

`Console.WriteLine(string.Join(", ", dictAndNames.Select(pair => $"{pair.Key} => {pair.Value}")));` 

консоль говорит: System.Collections.Generic.List 1 [System.String] => System.Collections.Generic.Dictionary 2[System.String,System.Int32]

+0

, это должен быть комментарий к ответу – Sajeetharan