C#のエスケープシーケンスと改行コードの基本をわかりやすく解説!初心者向け入門
生徒
「C#で文字の中に改行とかタブを入れる方法ってありますか?」
先生
「とても良い質問ですね。C#では『エスケープシーケンス』という特別な書き方を使うことで、文字列の中に改行やタブを入れることができるんです。」
生徒
「エスケープシーケンス?なんだか難しそうですね…」
先生
「大丈夫です。実はとてもシンプルなんですよ。実際の例を見ながら理解していきましょう!」
1. エスケープシーケンスとは?
エスケープシーケンスとは、文字列の中で「特別な意味を持つ文字」を表現するための書き方です。C#では、バックスラッシュ(\)を使って「特別な動作」を文字の中に埋め込むことができます。
例えば、「改行」や「タブ(空白のようなスペース)」など、通常の文字では表現できない動きを指示するために使います。
エスケープシーケンスを使うと、コンソール(画面)に出力する文字をより見やすく整えることができます。
2. 代表的なエスケープシーケンス一覧
まずは、C#でよく使われるエスケープシーケンスを一覧で見てみましょう。
| エスケープシーケンス | 意味 | 説明 |
|---|---|---|
\n |
改行 | 次の行に移動します(WindowsでもUnixでも使えます)。 |
\r |
復帰 | 行の先頭に戻ります。古いシステムで使われることがあります。 |
\t |
タブ | 横方向に一定の空白を入れます。 |
\\ |
バックスラッシュ | \自体を文字として出したいときに使います。 |
\" |
ダブルクォーテーション | 文字列の中で「"」を使いたいときに使います。 |
\' |
シングルクォーテーション | 文字の中で「'」を使いたいときに使います。 |
3. 改行コードとは?
改行コードとは、テキストの中で「ここで行を区切る」という意味を持つ特別な記号のことです。パソコンのOSによって、改行コードの種類が異なります。
- Windows:
\r\n(復帰+改行) - macOS / Linux:
\n(改行のみ)
ただし、C#のConsole.WriteLine()を使えば、自動的に環境にあった改行コードを使ってくれるため、特別に意識する必要はあまりありません。
4. 改行を使った出力の例
それでは、実際にC#で改行を使う例を見てみましょう。\nを使うことで、文字列の途中に改行を入れることができます。
Console.WriteLine("こんにちは!\nC#の世界へようこそ!");
このコードを実行すると、コンソールには次のように表示されます。
こんにちは!
C#の世界へようこそ!
文字列の中に「\n」を入れたことで、表示が2行に分かれました。とてもよく使う書き方です。
5. タブやクォーテーションの出力例
次に、タブやクォーテーションを出す例も見てみましょう。
Console.WriteLine("商品名\t価格");
Console.WriteLine("りんご\t100円");
Console.WriteLine("バナナ\t120円");
Console.WriteLine("彼は言いました:\"こんにちは!\"");
実行結果は次の通りです。
商品名 価格
りんご 100円
バナナ 120円
彼は言いました:"こんにちは!"
\tで「タブ空白」を、\"で「ダブルクォーテーション」を表現しています。表のような整った表示をしたいときや、文字の中に「"」を含めたいときにとても便利です。
6. バックスラッシュを文字として出したいとき
エスケープシーケンスの記号である「\」をそのまま出したい場合は、2つ重ねて「\\」と書きます。
Console.WriteLine("フォルダのパスは C:\\Users\\Public です。");
出力結果は次の通りです。
フォルダのパスは C:\Users\Public です。
Windowsのパス(フォルダの場所)などを出力するときによく使います。
7. @を使った逐語的文字列(エスケープ不要)
もう1つの便利な方法として、「@」を使った逐語的文字列(ちくごてきもじれつ)があります。
これは、文字列の前に@をつけることで、エスケープシーケンスを無効化し、そのままの文字として扱う方法です。
Console.WriteLine(@"C:\Users\Public\Documents");
このように書くと、「\\」ではなく「\」を1つ書くだけで済みます。複雑なパスを扱うときや、長い文章を複数行に分けて書きたいときに便利です。
Console.WriteLine(@"こんにちは!
C#の世界へようこそ!");
このように書くと、実際に2行に分かれて出力されます。
こんにちは!
C#の世界へようこそ!
8. エスケープシーケンスを使うときの注意点
エスケープシーケンスはとても便利ですが、間違って書くとエラーの原因になります。
\の後に意味のない文字を書くとエラーになります。- 文字列の中で多用しすぎると、コードが読みにくくなります。
- 長いパスや文章を扱うときは、
@を使うと見やすくなります。
慣れてきたら、状況に応じて「\を使う方法」と「@を使う方法」を使い分けるようにしましょう。