2016-12-05 3 views
-2

Ich habe den folgenden Code:Druckwerte von Wörterbuch

static void showSetsFunction(){ 
    foreach (KeyValuePair<string, List<string>> aux in definitions){ 
     Console.WriteLine(aux.Key+"->"+aux.Value.ToString()); 
    } 
} 

Und die Ausgabe davon ist dies: console

Wie kann ich richtig tun?

+0

-Code korrekt ist und Ihre Erwartungen nicht. Wenn Sie etwas anderes erwarten als Typnamen, die mit dem im Beitrag gezeigten Code gedruckt werden, müssen Sie dies explizit im Beitrag angeben. (Randnotiz: Vermeiden Sie das Posten von Bildern, wenn normaler Text funktionieren würde). –

+0

FYI: 'ToString' auf einer' Liste 'ist in keiner Weise implementiert, die Sie normalerweise verwenden möchten (daher die' Systems.Collections' ... Sie sehen) – crashmstr

Antwort

2

Sie können string.Join verwenden, um Ihre String-Liste in eine durch Kommas getrennte Zeichenfolge umzuwandeln.

Console.WriteLine(aux.Key + "->" + string.Join(", ", aux.Value)); 
0

aux.Value ist ein List<string>, kein string. Sie können dies leicht beheben, indem die Liste zu einem einzigen string mit string.Join zum Beispiel reduziert:

static void showSetsFunction(){ 

    foreach (KeyValuePair<string, List<string>> aux in definitions){ 
     Console.WriteLine(aux.Key+"->"+string.Join(",", aux.Value.ToArray())); 
    } 

} 
+0

'ToArray' wird nicht als' string.Join benötigt 'hat eine Überladung, die 'IEnumerable ' dauert – juharr