C# エスケープシーケンスのサンプル

C#のエスケープシーケンスのサンプルです。

目次

文字 エスケープシーケンス
  ファイルパスをわかりやすくする(逐語的リテラル文字列)
  シングルコーテーションとダブルコーテーションの違い

エスケープシーケンス

\文字
  • エスケープシーケンスは、指定した文字に特殊な意味を持たせます。
  • 特殊な意味を持たせたい文字の前に円記号(バックスラッシュ)を付けます。
  • バックスラッシュ(円記号)の文字コードは、shift-jisでは0x5C、UnicodeではU+005Cです。
  • 以下は、Microsoftの文字列のエスケープ シーケンスのリンクです。
    https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/strings/#string-escape-sequences

主なエスケープシーケンスの一覧です。

文字 説明
\" ダブルコーテーションを文字として表示する
\t タブを表示する
\\ バックスラッシュを表示する
\n 改行 (LF)する
\b バックスペースで1文字削除
\uxxxx Unicode文字を表示する
xxxxは4桁の16進数です。\u0041はAと表示されます。

エスケープシーケンスのサンプルです。

using System;

class Test1
{
    static void Main()
    {
        // ダブルコーテーションを表示
        Console.WriteLine("あいう\"えお");// あいう"えお

        // タブを表示 
        Console.WriteLine("あいう\tえお"); // あいう	えお

        // バックスラッシュを表示
        Console.WriteLine("あいう\\えお"); // あいう\えお

        // 改行を行う
        Console.WriteLine("あいう\nえお"); // 「う」の後に改行が入る

        // バックスペースで1文字削除    
        Console.WriteLine("あいう\bえお"); // あいえお

        // 記号(バックスラッシュ)とuと16進数4桁を指定
        Console.WriteLine("\u0041"); // A
        Console.WriteLine("\u0041\u0042"); // AB
    }
}

8行目は、エスケープシーケンスでダブルコーテーションを文字として表示しています。

ファイルパスをわかりやすくする(逐語的リテラル文字列)

ファイルパスをわかりやすくするサンプルです。
逐語的(ちくごてき)リテラル文字列と呼ばれます。

using System;

class Test1
{
	static void Main()
	{
		//string a = "D:\Test1\テスト"; //コンパイルエラー

		string a = @"D:\Test1\テスト";
		Console.WriteLine(a); // D:\Test1\テスト
	}
}

7行目は、パスを記述しようとしますが円記号でエスケープシーケンスが機能するのでコンパイルエラーになります.
9行目は、文字列の前に@をつけています。この場合はエラーになりません。

以下は、Microsoftの逐語的リテラル文字列のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/strings/#regular-and-verbatim-string-literals

シングルコーテーションとダブルコーテーションの違い

文字列をシングルコーテーションとダブルコーテーションで囲んだときの挙動の違いです。

using System;

class Test1
{
    static void Main()
    {
        Console.WriteLine('あ');// あ
//      Console.WriteLine('あいう');// 

        Console.WriteLine("あいう");// あいう
    }
}

7,8行目は、シングルコーテーションで括っています。文字リテラルのみ表示できます。
そのため7行目は文字が表示され8行目はコンパイルエラーになります。
10行目は、ダブルコーテーションで括っています。文字列リテラルを表示できます。

関連の記事

C# 文字列の始まり/終わりを確認(StartsWith/EndsWith)
C# 文字列の位置を取得する(indexOf/lastIndexOf)
C# 大文字と小文字を変換する(ToLower/ToUpper)
C# 文字列の一部を取得するサンプル(Substring)

△上に戻る