C#の文字列型について

C#の文字列型は、不変する。文字列を作成した後に文字列の値を変更することは出来ません。
文字列の値を変更するように見えるメソッドでも、実際には返す新しい文字列を作成していますので、元の文字列は変更していません。
C#は、「==」や「!=」演算子を使用して、文字列値を直接比較することが出来ます。
文字列はC#では参照型ですが、「==」演算子と「!=」演算子は、参照ではなく文字列値を既定で比較します。
C#で文字列を連結する場合は、文字列を連結するたびに新しい文字列クラスを作成されるオーバーヘッドを回避するために文字列型を使用しません。
文字列の代わりに、System.Text.StringBuilderクラスを使用します。System.Text.StringBuilderクラスは、JavaのStringBufferクラスと同じように機能します。

C#は、標準リテラル文字列と逐語的リテラル文字列という2種類のリテラル文字列があります。
「@」記号を使って逐語的リテラル文字列を指定することで文字列定数内でエスケープ シーケンスが不要になります。
エスケープ シーケンスとは、タブ記号を表す「\t」や円記号を表す「\」などことです。

逐語的リテラル文字列のサンプルソース

public static void Main(string[] args)
{
    // エスケープ シーケンス
    string path1 = "\\\\FileSrver\\FileDir\\file.txt";
    System.Console.WriteLine(path1);

    // 逐語的リテラル文字列
    string path2 = @"\\FileSrver\FileDir\file.txt";
    System.Console.WriteLine(path2);
}

inserted by FC2 system