【问题标题】:How to convert Dictionary<int, long> to string array/list?如何将 Dictionary<int, long> 转换为字符串数组/列表?
【发布时间】:2012-07-01 12:44:16
【问题描述】:

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

请帮忙! 谢谢,
〜尼库。

【问题讨论】:

    标签: c# .net arrays string dictionary


    【解决方案1】:

    你可以这样做:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:
        var strings = dict.Select(item => string.Format("{0}, {1}", item.Key, item.Value));
        

        请注意,这将返回一个枚举器。无论您想要string[]List&lt;string&gt; 形式的结果,都应分别使用.ToArray().ToList()

        【讨论】:

        • 这既不是数组也不是列表。您需要.ToList().ToArray() 来实现它作为一个集合,现在它只是一个可以从字典中读取的枚举器。
        • @Guffa 是的,这是真的。我故意忽略了它,但我想根据问题应该引起 OP 的注意。
        猜你喜欢
        • 1970-01-01
        • 2019-06-21
        • 2017-01-23
        • 2020-12-02
        • 1970-01-01
        • 2018-01-08
        • 1970-01-01
        • 2011-03-18
        相关资源
        最近更新 更多