如何将Dictionary <int,long =“”>转换为字符串数组/列表?</int,>

时间:2012-06-30 02:48:25

标签: c# .net arrays string dictionary

我想将Dictionary转换为字符串数组(或列表)
字符串数组需要像这样返回:“ID,PTS”,其中int是ID,long是PTS。

请帮忙! 谢谢,
〜Nikku。

3 个答案:

答案 0 :(得分:7)

var strings = dict.Select(item => string.Format("{0}, {1}", item.Key, item.Value));

请注意,这会返回一个枚举器。无论您希望结果是string[]还是List<string>,都应分别使用.ToArray().ToList()

答案 1 :(得分:1)

你可以这样做:

string[] arr =
  theDictionary
  .Select(kvp => kvp.Key.ToString() + ", " + kvp.Value.ToString())
  .ToArray();

答案 2 :(得分:1)

简单的答案是迭代字典,并将值复制到字符串列表中。

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());
}