【C#】配列やリストの文字列を連結する方法【string.Join()】

ログなどでリストの文字列を連結して表示したいときに、今まで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もコードの内容はほぼ同じです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA