C#で文字列を結合する方法!+演算子とString.Concatの違いを初心者向けに解説
生徒
「C#で文字をつなげたいんですけど、どうやって書けばいいんですか?」
先生
「C#では文字列を結合する方法がいくつかあります。代表的なのは『+演算子』と『String.Concat』です。」
生徒
「2つの方法があるんですね。どんな違いがあるんですか?」
先生
「それでは、具体的な使い方と違いを順番に説明していきましょう!」
1. 文字列の結合とは?
C#の文字列結合とは、複数の文字列を1つにつなげることを意味します。例えば「C#」と「プログラミング」という文字列を結合すると「C#プログラミング」という新しい文字列になります。日常生活で言えば、積み木を横に並べて1つの長いブロックにするようなイメージです。
2. +演算子で文字列を結合する方法
最もシンプルで直感的な方法が+演算子を使う方法です。プラス記号を使って文字列をつなぐだけなので、初心者にも理解しやすい書き方です。
string text1 = "C#";
string text2 = "プログラミング";
string result = text1 + text2;
Console.WriteLine(result);
C#プログラミング
このように、+を使えば簡単に文字列をつなげられます。ただし、多くの文字列を何度も結合するときには注意が必要です。なぜなら、文字列は「イミュータブル(変更できない)」性質を持っており、結合のたびに新しい文字列が作られるからです。
3. String.Concatで文字列を結合する方法
String.Concatメソッドは、C#が標準で提供している文字列結合専用の仕組みです。Concatは英語で「つなげる」という意味で、その名の通り文字列をまとめてつなげます。
string text1 = "C#";
string text2 = "入門";
string text3 = "講座";
string result = String.Concat(text1, text2, text3);
Console.WriteLine(result);
C#入門講座
この方法を使うと、複数の文字列をまとめて一度に結合できます。+演算子よりも効率的に動作する場合があり、特にたくさんの文字列を結合する場面で便利です。
4. +演算子とString.Concatの違い
それでは、+演算子とString.Concatの違いを整理してみましょう。
- +演算子:簡単で直感的。少数の文字列を結合する場合におすすめ。
- String.Concat:複数の文字列を効率よく結合できる。配列や変数をまとめて扱うときに便利。
例えば、次のように配列の文字列をまとめて結合したい場合、String.Concatを使うとスマートに書けます。
string[] words = { "C#", "文字列", "結合", "テスト" };
string result = String.Concat(words);
Console.WriteLine(result);
C#文字列結合テスト
5. どちらを使うべき?初心者へのおすすめ
初心者のうちは、まずは+演算子を使うのがおすすめです。見た目が分かりやすく、動作も直感的だからです。ただし、文字列を大量に扱うアプリケーションを作るようになったら、String.Concatを意識すると効率が良くなります。
例えば、ゲームのスコア表示やチャットメッセージの組み立てなど、毎回新しい文字列を作るような処理では、処理速度の違いが出てくることもあります。