c# - 在字符串中的每个字符后添加特定字符的优雅方法

标签 c# string linq character

我想从数据库中打印一个字符串到一个页面。在这个数据库中,字符串看起来像这样:“!”§%&/”。在我的页面中它应该像这样:“! "§ % &/"(字符之间的空格)。

我知道可以使用简单的 foreach 循环以及 Linq 的聚合函数。

foreach 循环:

var result = "";
foreach (var s in stringFromDb)
{
    result += s + " ";
}
result = result.Trim()

聚合函数:

var result = stringFromDb.Aggregate("", (current, s) => current + (s + " ")).Trim();

聚合函数有点不可读,所以我绝对不会使用它。 有没有更简单的方法来做到这一点?

最佳答案

你为什么不使用 string.Join

var str = "!\"§%&/";
var result = string.Join(" ", str.ToCharArray())

或者没有ToCharArray(在评论中建议)

 var result = string.Join<char>(" ", str)

关于c# - 在字符串中的每个字符后添加特定字符的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22353750/

相关文章:

c# - 函数参数列表错误 : '=' not recogned

c# - 保留重新抛出的异常的类型

c# - Linq Where/Group By XML 元素

asp.net - 错误 : The type or namespace name 'ExcelPackage' could not be found

c# - 尝试使用 Expression<Func<..>> 从方法调用 Any() 时出现类型错误

c# - A "Sparse Map"数据类型(类 RLE)对于 C、C++ 或 .NET

C# - 包含不同数字的字符串

java - 关于字符串 If 条件

python - 替换多行字符串中除空格和\r\n 之外的每个字符,如何替换?

mysql模式匹配两个不同表中的前5个字符,然后将数据输入到单独的列中