【发布时间】:2012-07-01 12:44:16
【问题描述】:
我想将字典转换为字符串数组(或列表)
字符串数组需要像这样返回:"ID, PTS" 其中 int 是 ID,long 是 PTS。
请帮忙!
谢谢,
〜尼库。
【问题讨论】:
标签: c# .net arrays string dictionary
我想将字典转换为字符串数组(或列表)
字符串数组需要像这样返回:"ID, PTS" 其中 int 是 ID,long 是 PTS。
请帮忙!
谢谢,
〜尼库。
【问题讨论】:
标签: c# .net arrays string dictionary
你可以这样做:
string[] arr =
theDictionary
.Select(kvp => kvp.Key.ToString() + ", " + kvp.Value.ToString())
.ToArray();
【讨论】:
简单的答案是遍历字典,并将值复制到字符串列表中。
Dictionary<int, long> dict = new Dictionary<int, long>();
// If you like Linq. Stick a .ToArray() or .ToList() at the end, or leave it as IEnumerable<string>
var stringList = dict.Select(kvp => kvp.Key.ToString() + ", " + kvp.Value.ToString());
// If you don't like Linq.
List<string> stringList2 = new List<string>();
foreach (KeyValuePair<int, long> kvp in dict)
{
stringList2.Add(kvp.Key.ToString() + ", " + kvp.Value.ToString());
}
【讨论】:
var strings = dict.Select(item => string.Format("{0}, {1}", item.Key, item.Value));
请注意,这将返回一个枚举器。无论您想要string[] 或List<string> 形式的结果,都应分别使用.ToArray() 或.ToList()。
【讨论】:
.ToList() 或.ToArray() 来实现它作为一个集合,现在它只是一个可以从字典中读取的枚举器。