C#の文字列について覚えておくべき重要な点は、文字列がUnicode文字(文字、数字、句読点など)の並びとしてテキストを表す、変更不可能なオブジェクトであることです。stringのインスタンスを定義するには、二重引用符を使います。
string fruit = "Apple";
文字列を操作するには、そのメソッドまたはプロパティを呼び出します。文字列の値は一度定義されると決して変わることはないため、文字列を操作するメソッドはすべて新しい文字列を返します。
文字列は二重引用符(")で区切られます。特殊な文字の中には、バックスラッシュ(\)を使ってエスケープする必要があるものがあります。また、文字列の先頭にアットマーク(@)を付けると逐語的文字列になり、エスケープ文字がすべて無視されます。
string escaped = "c:\\test.txt";
string verbatim = @"c:\test.txt";
escaped == verbatim;
// => true
文字列の一部だけが必要な場合は、Substring()メソッドを使ってその部分だけを取り出せます。
string sentence = "Frank chases the bus.";
string name = sentence.Substring(0, 5);
// => "Frank"
IndexOf()メソッドを使うと、あるstringの中でのstringの最初の出現位置(インデックス)を見つけられます。指定した値が見つからなかった場合は-1を返します。
"continuous-integration".IndexOf("integration")
// => 11
"continuous-integration".IndexOf("deployment")
// => -1
最後に、文字列を連結する方法はたくさんあります。最も簡単なのは、+演算子を使う方法です。
string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"
単純な連結よりも複雑な文字列の書式設定には、文字列補間が好まれます。文字列で補間を有効にするには、先頭にドル記号($)を付けます。
string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"