【C# String】文字列を結合する(+, Concat, Append, Join, $)

C#

どーも papipupepe です。このページでは文字列を結合する方法を解説します。

C#で文字列を結合する方法は、

  • +演算子で文字列を結合する
  • $ドルマークで文字列補間により結合する
  • String.Concateメソッドで文字列を結合する
  • StringBuilder.Appendメソッドで文字列を結合する
  • String.Joinメソッドで文字列配列を結合する

などの方法があります。それぞれの方法について見ていきましょう。

+演算子で文字列を結合する

これは最も簡単な方法で、文字列を+演算子で結合します。

簡単ですが結合する文字列が増えると、コードが冗長で見辛くなってしまうのがデメリットです。

string str1 = "AAA";
string str2 = "BBB";
//+演算子で文字列を結合
string str3 = str1 + str2;  //str3 = "AAABBB"

$ドルマークで文字列補間により結合する

複雑な文字列結合では$ドルマークを使った文字列補間での結合が便利です。

次のようにコードの視認性が良くなり、プログラムミスが軽減されます。

string name = "Bianca";  //名前
int age = 3;  //年齢
//$ドルマークで文字列補間により文字列結合
string introMess = $"My name is {name}. I am {age.ToString()} year's old.";  //introMess = "My name is Bianca. I am 3 yaer's old."

String.Formatメソッドも同じように文字列補間で書くことができます。

string name = "Bianca";  //名前
int age = 3;  //年齢
//String.Formatメソッドで文字列補間により文字列結合
string introMess = String.Format("My name is {0}. I am {1} year's old.",name,age.ToString());  //introMess = "My name is Bianca. I am 3 yaer's old."

String.Concatメソッドで文字列を結合する

続いてはStringクラスのConcatメソッドで結合する方法です。

文字列を4つまで引数で渡して結合するか、文字列の配列を引数にして結合する方法があります。

string str1 = "AAA";
string str2 = "BBB";
//文字列は4つまで結合できる
string str3 = String.Concat(str1, str2, "CCC", "DDD");  //str3 = "AAABBBCCCDDD"

string[] str4 = new string[] { "AAA","BBB", "CCC", "DDD" };
//文字列の配列を結合する。区切り文字は指定できません
string str5 = String.Concat(str4);  //str5 = "AAABBBCCCDDD"

StringBuilder.Appendメソッドで文字列を高速結合する

StringBuilder.Appendメソッドは他のメソッドに比べ高速で文字列結合が可能です。

StringBuilderクラスは名前空間 System.Text の参照が必要です。

StringBuilder sb = new StringBuilder();
sb.Append("AAA");
sb.Append("BBB");
sb.Append("CCC");  //sb = "AAABBBCCC"

String.Joinメソッドで文字列の配列を結合する

最後はString.Joinメソッドです。

文字列の配列を結合するのはString.Concatメソッドと同じですが、区切り文字を入れて結合できるのが特徴です。第一引数に区切り文字、第二引数に文字列配列を指定します。

string[] str = new string[]{"AAA","BBB","CCC"};
//カンマ区切りで文字列を結合する
string strJoin = String.Join(",",str);  //strJoin = "AAA,BBB,CCC"

コメント

タイトルとURLをコピーしました