c# - 使用 (i, j) => i + "delimiter"+ j 将 List<int> 聚合到字符串

标签 c# linq

<分区>

我正在尝试在 Linq (C#) 中进行类似 Haskell 的快速聚合,以将列表转换为格式为“i^j^k...”等的字符串。

这在一个查询中是否可行,还是我应该按照老式的方式进行

foreach (int i in list)
{
     string+= i + "^"
}

(p.s. 是的,那是伪代码,无法编译。)

最佳答案

使用string.Join :

string.Join("^", list.Select(x => x.ToString()).ToArray())

在这种特殊情况下,可能直接使用 StringBuilder 效率更高,因为 Append(int) 可以避免创建临时字符串。然而,除非这最终成为瓶颈,否则我会坚持使用这个简单的单一表达式。

关于c# - 使用 (i, j) => i + "delimiter"+ j 将 List<int> 聚合到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1428376/

相关文章:

c# - 可查询作为子查询过滤另一个可查询的

C# Xamarin - 将目标添加到 UILongPressGestureRecognizer,将其传递给在父 UIViewController 中实现的选择器

c# - 选择子句为空

c# - 动态 linq 多个与单个 .where 查询

c# - 注入(inject) Serilog 时出错 "Prism.DryIoc DryIoc.Microsoft.DependencyInjection6.0.0 "

c# - Gridview 不更新值

c# - 在 C# 中从 SOAP 信封中提取 XML

c# - 如何制作一个看起来自然的列表?

c# - 有没有办法简化这个 linq

asp.net - 使用 Linq to SQL 返回单个值