在c#/LINQ中将数组转换为字符串的最短方法[重复]

Posted

技术标签:

【中文标题】在c#/LINQ中将数组转换为字符串的最短方法[重复]【英文标题】:Shortest method to convert an array to a string in c#/LINQ [duplicate] 【发布时间】:2008-12-19 11:17:19 【问题描述】:

以与this question 完全相同的形式关闭。

我有一个元素数组/列表。我想将其转换为字符串,由自定义分隔符分隔。例如:

[1,2,3,4,5] => "1,2,3,4,5"

在 c# 中执行此操作的最短/最简单的方法是什么?

我总是通过循环列表并在添加分隔符之前检查当前元素是否不是最后一个来做到这一点。

for(int i=0; i<arr.Length; ++i)

    str += arr[i].ToString();
    if(i<arr.Length)
        str += ",";

是否有 LINQ 函数可以帮助我编写更少的代码?

【问题讨论】:

【参考方案1】:
String.Join(",", arr.Select(p=>p.ToString()).ToArray())

【讨论】:

您实际上并不需要 ToArray()... string.Join 可以采用 IEnumerable,而 IEnumerable.Select 返回一个 IEnumerable。 @neminem string.Join(string, IEnumerable&lt;string&gt;) 在 2008 年不存在。【参考方案2】:
String.Join(",", array.Select(o => o.ToString()).ToArray());

【讨论】:

以上是关于在c#/LINQ中将数组转换为字符串的最短方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在Java 8中将整数数组转换为字符串数组的最简单方法[重复]

将 linq 查询转换为字符串数组 - C#

使用 LINQ 在一行代码中将 string[] 转换为 int[]

在 Linq 中将 int 转换为字符串到实体的问题

在 C 中将字符串数组转换为 Int 数组的最佳方法

在给定列表中搜索将字符串转换为另一个字符串的最短方法,一次一个字符