b00k.jp ~積み上げ式読書ノート~
公開日:
最終更新日:2018/06/02

【C#】文字列連結をstringとStringBuilderで行った際のパフォーマンス差異

C#

文字列連結はStringBuilderで行った方がパフォーマンスが良い

C#で文字列連結を行う際は、パフォーマンスの観点から基本的にstringではなく、StringBuilderを使用する。
stringで連結をすると、連結の度にstringオブジェクトが作成される。
また、不要になったstringオブジェクトのガベージコレクションも走る。
オブジェクトの生成、破棄はそれなりにオーバヘッドの高い処理なので、例えばループの中などで生成・破棄を繰り返すと、トータルでかなりの処理時間がかかることもある。

例えば、ループで1万回文字列連結を行った際の所要時間は以下のようになる。
string…125ミリ秒
StringBuilder…37ミリ秒

しかし、少量の場合はstringで連結した方が早い

しかし、いつでもStringBuilderで処理すればいいというわけではなく、少ない量なら+演算子で連結した方が早い。(StringBuilderオブジェクト生成の方がコストが高い)

・string…64ミリ秒(stringオブジェクトを4千万回生成)
・StringBuilder…759ミリ秒(StringBuilderを1千万回生成)

カテゴリー: IT, プログラミング
タグ   :

努力が続かないとお悩みの方へ!

努力のコツ PC用バナー

Amazonにて発売中!!

試験に受かる、給料を上げる、ビジネスを立ち上げる…。
自分の人生をよりよくしていくには、何よりも努力が欠かせません。
しかし、そうはわかっていてもなかなか続かないもの。。。
「めんどくさい」、「明日からでいいや」、「どうせやっても無駄だし」…
こんな風に私たちは努力を続けられずにいます。

ですが、それはあなたが怠けものだからとか、根性がないからというわけではありません。
どうすれば努力が続くのか、その「テクニック」を知らないだけなのです!
本書では、そんな「どうすれば努力が続くのか」というテクニックや心構えを集めました。
「達成したい夢があるのに、どうしても頑張れない…」
そんなあなたに是非とも読んでほしい1冊となっています。


広告

オススメ記事


PAGE TOP ↑