#8 C#で学ぶ文字列操作の基本

C#の文字列操作は、Javaと似た機能に加えて、読みやすい埋め込みの書き方が用意されています。この記事では、C#における文字列操作の基本を解説します。

文字列補間という便利な書き方

C#には、文字列の前に`$`を付けることで、変数を`{}`で埋め込める「文字列補間」という書き方があります。

string greeting = $"こんにちは、{name}さん";

`{}`の中には変数だけでなく、`{age + 1}`のような計算式や、`{price:C}`のような書式指定も書けます。従来の`string.Format`よりも直感的に書けるため、現在のC#開発では文字列補間が標準的な書き方になっています。

よく使う文字列操作

  • name.Length 文字数を調べる
  • name.ToUpper() 大文字に変換する
  • name.Replace("A", "B") 文字を置き換える
  • name.Split(',') 指定した記号で分割する
  • name.Trim() 前後の空白を取り除く

文字列を組み立てる

ループの中で文字列を繰り返し連結すると、内部で新しい文字列が何度も作られてしまい、処理が遅くなることがあります。そうした場面では`StringBuilder`を使うのが定石です。

using System.Text; var sb = new StringBuilder(); foreach (var fruit in fruits) { sb.Append(fruit).Append(", "); } Console.WriteLine(sb.ToString());

文字列の比較は==でOK

C#でも、`==`だけで文字列の中身を正しく比較できます。大文字・小文字を無視して比較したい場合は、`string.Equals(a, b, StringComparison.OrdinalIgnoreCase)`のように比較方法を明示的に指定する方法もよく使われます。

C#ならではの注意点

C#のメソッド名は`ToUpper()`のように、単語の先頭を大文字にする書き方(パスカルケース)が慣習です。JavaScriptの`toUpperCase()`やKotlinの`uppercase()`など、言語ごとにメソッド名の付け方や大文字小文字のルールが異なるため、言語を切り替える際は綴りを見直す癖をつけましょう。また、文字列の連結を大量に行う処理では、単純な`+`ではなく`StringBuilder`を使うことで、パフォーマンスの差が明確に出る点も覚えておくと役立ちます。

まとめ

C#の文字列操作は`$"{}"`による文字列補間が特に便利です。大量の連結には`StringBuilder`、メソッド名の大文字小文字のルールにも注意しましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

C#をもっと学びたい方には「確かな力が身につくC#「超」入門 第2版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本