どーも 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"

コメント