C# 从字典打印值

C# 从字典打印值,c#,C#,我有以下代码: static void showSetsFunction(){ foreach (KeyValuePair<string, List<string>> aux in definitions){ Console.WriteLine(aux.Key+"->"+aux.Value.ToString()); } } static void showsetfunction(){ foreach(KeyValuePair辅助定义

我有以下代码:

static void showSetsFunction(){
    foreach (KeyValuePair<string, List<string>> aux in definitions){
        Console.WriteLine(aux.Key+"->"+aux.Value.ToString());
    }
}
static void showsetfunction(){
foreach(KeyValuePair辅助定义){
Console.WriteLine(aux.Key+“->”+aux.Value.ToString());
}
}
它的输出是:


如何正确执行?

您可以使用
string.Join
将字符串列表转换为逗号分隔的字符串

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

辅助值
是一个
列表
,而不是
字符串
。通过使用
string将列表缩减为单个
string
,可以轻松解决此问题。Join
例如:

static void showSetsFunction(){

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

}
static void showsetfunction(){
foreach(KeyValuePair辅助定义){
Console.WriteLine(aux.Key+“->”+string.Join(“,”,aux.Value.ToArray());
}
}

ToArray
不需要,因为
字符串。Join
有一个重载,它接受
IEnumerable
代码是正确的,您的期望值是不正确的。如果您希望与post中显示的代码打印的类型名称不同,则需要在post中明确指定。(旁注:避免在正常文本可用时发布图像)。仅供参考:
列表上的
ToString
不会以您通常希望使用的任何方式实现(因此,
系统.集合
…如您所见)