#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿