【问题标题】:Convert a list<int> to a joined string of ints?将 list<int> 转换为连接的整数字符串?
【发布时间】:2011-03-13 18:57:40
【问题描述】:

我有一个值为 3,99,6 的 int 数组。如何使用 linq 将数组转换为字符串 3,99,6

【问题讨论】:

    标签: c# arrays linq


    【解决方案1】:
    int[] list = new [] {3, 99, 6};
    string s = string.Join(",", list.Select(x => x.ToString()).ToArray());
    

    编辑,C# 4.0

    在 C# 4.0 中,string.Join 有另一个重载,它最终允许直接传递 IEnumerable&lt;string&gt;IEnumerable&lt;T&gt;。不需要创建Array,也不需要调用ToString(),隐式调用:

    string s = string.Join(",", list);
    

    显式格式化字符串:

    string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
    

    【讨论】:

      【解决方案2】:

      Stefan 的解决方案是正确的,并且非常适用于 .NET 3.5。在 .NET 4 中,有一个 overload of String.Join 需要一个 IEnumerable&lt;string&gt;,因此您可以使用:

      string s = string.Join(",", list.Select(x => x.ToString());
      

      甚至只是:

      string s = string.Join(",", list);
      

      【讨论】:

      • 需要 ToString() 吗?它似乎只是自己做,就像String.Join(",", list);
      猜你喜欢
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 2020-09-03
      • 2013-05-14
      相关资源
      最近更新 更多