C#の区切り文字を使用して、リストを文字列に変換します
この投稿では、リストの個々の要素が特定の区切り文字を使用して単一の文字列に結合されるC#でリストを文字列に変換する方法について説明します。リストの前後に区切り文字を追加しないでください。
1.使用する String.Join()
方法
推奨される解決策は、 String.Join() 文字列クラスのメソッド。指定されたアレイまたはコレクションの要素を指定された区切り文字で結合します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Collections.Generic; public class Example { public static void Main() { List<string> list = new List<string>() { "A", "B", "C" }; char delim = ','; string str = String.Join(delim, list); Console.WriteLine(str); } } /* 出力: A,B,C */ |
2.使用する Enumerable.Aggregate()
方法
上記の方法と同様に、LINQは Aggregate() メソッド。区切り文字を使用してリストの要素を結合できます。次のコード例は、これを実装する方法を示しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
using System; using System.Collections.Generic; using System.Linq; public class Example { public static void Main() { List<string> list = new List<string>() { "A", "B", "C" }; char delim = ','; string str = list.Aggregate((x, y) => x + delim + y); Console.WriteLine(str); } } /* 出力: A,B,C */ |
3.使用する StringBuilder
単純な解決策は、リストをループして、各リスト要素をに連結することです StringBuilder
指定された区切り文字を持つインスタンス。最後に、の文字列表現を返します StringBuilder
。このソリューションは、末尾の区切り文字の文字を処理することに注意してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System; using System.Collections.Generic; using System.Text; public class Example { public static void Main() { List<string> list = new List<string>() { "A", "B", "C" }; char delim = ','; StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.Count; i++) { sb.Append(list[i]); if (i < list.Count - 1) { sb.Append(delim); } } string str = sb.ToString(); Console.WriteLine(str); } } /* 出力: A,B,C */ |
これで、C#の区切り文字を使用してリストを文字列に変換できます。