ログなどでリストの文字列を連結して表示したいときに、今までforeachとStringBuilderを駆使して連結していました。
コード
var stringArray = new[] { "1", "2", "3", "4", "5" };
var sb = new System.Text.StringBuilder();
foreach(var i in stringArray)
{
sb.Append($"{i},");
}
System.Console.WriteLine(sb.ToString());
出力結果
1,2,3,4,5,
場合によっては上記の方法が良いときもあるんですが、もっと簡単な方法はないものかと探したところSystem.String
クラスのJoin
メソッドが簡単に文字列を連結してくれました。
string.Join()の使い方
第1引数に区切り文字を指定して、第2引数に連結したい文字列の配列やリストを指定します。
string.Join(string, string[])
string.Join(string, IEnumerable<string>)
ここに書いている以外にも使い方があるので、詳細を知りたい方は公式を見るのが一番です。
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.join?view=net-5.0
配列の場合
コード
var stringArray = new[] { "りんご", "ゴリラ", "ラッパ", "パセリ", "りんご" };
var str1 = string.Join("→", stringArray);
Console.WriteLine(str1);
出力結果
りんご→ゴリラ→ラッパ→パセリ→りんご
Listの場合
コード
var stringList = new List<string> { "テスト1", "テスト2", "テスト3", "テスト4", "テスト5" };
var str2 = string.Join(": ", stringList);
Console.WriteLine(str2);
出力結果
テスト1: テスト2: テスト3: テスト4: テスト5
配列もListもコードの内容はほぼ同じです。