【C#入門】文字列を連結する方法まとめ(+演算子/Concat/Append/Join)

こんにちは!エンジニアの中沢です。

C#には文字列を連結(結合)するためにいくつかのメソッドがあります。

文字列の連結は+演算子で簡単に行うこともできますが、それ以外にも便利なメソッドが用意してあります。

この記事では、


・+演算子で連結する方法
・StringクラスのConcatメソッドで連結する方法
・StringBuilderクラスのAppendメソッド連結する方法

という基本的な内容から、

・文字列の配列を連結するStringクラスのJoinメソッド
・文字列を高速で連結する方法

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、文字列の連結のさまざまな使い方をわかりやすく解説します!

文字列を連結する方法

+演算子で連結する方法

文字列を連結する一番簡単な方法は、+演算子を使う方法です。

+演算子で連結する方法を次のプログラムで確認してみましょう。

実行結果:

このように二つの文字列が連結されることが確認できました。

StringクラスのConcatメソッドで連結する方法

StringクラスのConcatメソッドを使っても文字列を連結することができます。

Concatメソッドの引数に、連結したい文字列を指定します。

Concatメソッドで連結する方法を次のプログラムで確認してみましょう。

実行結果:

Concatメソッドで文字列を連結できることが確認できました。

StringBuilderクラスのAppendメソッド連結する方法

ここでは、StringBuilderクラスのAppendメソッドを使って連結する方法を解説します。

Appendメソッドの引数に連結したい文字列を指定して、連結することができます。

次のプログラムで確認してみましょう。

実行結果:

このプログラムでは、Appendメソッドを使って文字列を連結しています。

StringBuilderクラスの詳しい使い方はこちらの記事で解説しているので、ぜひ確認してください。

【C#入門】StringBuilderクラスで文字列を追加、挿入、削除、置換
更新日 : 2019年4月17日

文字列の配列を連結するStringクラスのJoinメソッド

ここでは、Joinメソッドを使って文字列の配列を連結する方法を解説します。

Joinメソッドは第1引数に連結するときの区切り文字を指定します。

第2引数に連結する文字列配列を指定します。

Joinメソッドの使い方を次のプログラムで確認してみましょう。

実行結果:

このようにして、Joinメソッドを使って文字列の配列を連結することができました。

文字列を高速で連結する方法

StringBuilderクラスを使うと、文字列を変更するたびにメモリを確保する必要はありません。

そのため、たくさんの文字列を変更する場合、変更の度にメモリの確保で余計な処理時間を取られることなく高速で処理できます。

これに対して、「+」演算子で文字列を連結する場合は連結の度にメモリを確保しますので、処理に時間がかかります。

ここでは、たくさんの文字列を連結する場合そ処理速度を、「+」演算子、String.Concatメソッド、StringBuilder.Appendメソッド、String.Joinメソッドで比較してみます。

実行結果:

実行結果から、StringBuilder.AppendとString.Joinが早く、「+」演算子とString.Concatではとくに長い時間がかかっていることがわかります。

大量の文字列を連結する場合には、「+」演算子とString.Concatは使わないようにしましょう。

まとめ

いかがでしたか?

今回は文字列を連結する様々な方法を解説しました。

いくつかメソッドがあるので、状況に応じて使い分けてくださいね。

もし、文字列を連結する方法を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説