c#中使用分隔符合并字符串
本文关键字:合并 字符串 分隔符 | 更新日期: 2023-09-27 18:03:13
我需要将List<string>
内部的字符串合并到联机中。我想出了一个简单的解决办法,但我不确定这是不是最好的办法。
第一个版本有问题的,
字符串开始:
string benchmarkiUjemneDatyRazem = "";
foreach (string s in benchmarkiUjemne) {
benchmarkiUjemneDatyRazem = benchmarkiUjemneDatyRazem + "," + s;
}
第二个版本(Linq power),但仍然使用':
string benchmarkiUjemneDatyRazem = benchmarkiUjemne.Aggregate("", (current, s) => current + "," + s);
没有,
的工作版本,但行数使以后阅读它有些痛苦:
int b = 0;
string benchmarkiUjemneDatyRazem = "";
foreach (string s in benchmarkiUjemne) {
if (b == 0) {
b = 1;
benchmarkiUjemneDatyRazem = s;
continue;
}
benchmarkiUjemneDatyRazem = benchmarkiUjemneDatyRazem + "," + s;
}
我想出的最终版本是基于Linq的替换第一个字符:
string benchmarkiUjemneDatyRazem = benchmarkiUjemne.Aggregate("", (current, s) => current + "," + s).Substring(1);
这是解决这个问题的好方法吗?还是有更好的方法?比如使用StringBuilder之类的?
如果你正在使用。net 4,你可以使用string.Join
(在早期版本中,只有当benchmarkiUjemne
是string[]
时才有效):
string result = string.Join(",", benchmarkiUjemne);
如果这是。net 3.5或更早的版本,你仍然可以通过调用列表中的ToArray
来使用它:
string result = string.Join(",", benchmarkiUjemne.ToArray());
使用string.Join
:
var res = string.Join(",", benchmarkiUjemne);