簡體   English   中英

在 C# 中將字符串與分隔符合並在一起

[英]Merging strings together with separator berween them in C#

我需要將List<string>中的字符串合並到 oneliner 中。 我想出了簡單的解決方案,但我不確定這是否是 go 的最佳方法。

第一個版本有問題,在字符串開始:

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 (在早期版本中,這僅在benchmarkiUjemnestring[]時才有效):

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

如果這是 .Net 3.5 或更早版本,您仍然可以通過調用列表中的ToArray來使用它:

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

使用string.Join

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM