【发布时间】:2011-12-22 03:32:19
【问题描述】:
我有一个字典,其中键是字符串,值是对应于该键的字符串列表。我想显示字典中的所有键,并在该键下方显示与该键关联的值。像这样的:
Key 1
Value 1
Value 2
Value 3
Key 2
Value 1
Value 2
在 C# 2.0 中,我会这样做(values 是 Dictionary):
StringBuilder sb = new StringBuilder();
foreach(KeyValuePair<string, List<string>> pair in values)
{
sb.AppendLine(pair.Key);
foreach(string item in pair.Value)
{
sb.AppendLine('\t' + item);
}
}
我将如何使用 LINQ 进行等效操作?似乎应该可以,但是我不知道该怎么做。
如果我使用values.SelectMany(p => p.Values),那么最终结果中只有值,而不是键。
我想到的任何其他解决方案都有类似的限制。
【问题讨论】: