C#:
文字列の連結
How to: (方法)
string hello = "こんにちは、";
string world = "世界!";
string greeting = hello + world; // 文字列の結合
Console.WriteLine(greeting); // 出力:こんにちは、世界!
上記は最も基本的な結合方法です。String.Concat
や StringBuilder
も使えます。
string hello = "こんにちは、";
string world = "世界!";
string greeting = String.Concat(hello, world); // String.Concatを使った結合
Console.WriteLine(greeting); // 出力:こんにちは、世界!
var builder = new StringBuilder();
builder.Append(hello).Append(world); // StringBuilderを使った結合
Console.WriteLine(builder.ToString()); // 出力:こんにちは、世界!
Deep Dive (掘り下げ)
歴史的に、文字列の結合は +
演算子で行われてきましたが、多数の結合が必要な場合にはパフォーマンスが低下します。なぜなら、C#の string
はイミュータブル(不変)なので、結合のたびに新しい文字列がメモリに作成されるからです。その点で String.Concat
は効率的ですが、最も効率が良いのは StringBuilder
の使用です。これは内部でバッファを管理し、不必要なメモリ割り当てを減らすことで、結合処理を高速化します。
代替方法としては、C# 6.0から導入された文字列補間もあります。これはコードをより読みやすく、メンテナンスしやすくするためのものです。
string name = "太郎";
string message = $"こんにちは、{name}さん!"; // 文字列補間
Console.WriteLine(message); // 出力:こんにちは、太郎さん!