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之类的?

c#中使用分隔符合并字符串

如果你正在使用。net 4,你可以使用string.Join(在早期版本中,只有当benchmarkiUjemnestring[]时才有效):

string result = string.Join(",", benchmarkiUjemne);

如果这是。net 3.5或更早的版本,你仍然可以通过调用列表中的ToArray来使用它:

string result = string.Join(",", benchmarkiUjemne.ToArray());

使用string.Join:

var res = string.Join(",", benchmarkiUjemne);