string型
Midoliy |> F#プログラミング


string型とは
エスケープシーケンス
逐語的文字列
文字列演算子

string型とは


 文字列型(= string型)は、テキストを表すために使用される文字(= char型)のシーケンシャルコレクションです。.NETのchar型はUTF-16コードに対応しています。
 string型は読み取り専用の型で、再代入が基本的にはできません。代入操作をした場合、実際には新しいstring型が再生成されています(immutable)。 最大サイズは2GBで、およそ10億文字までとなっています。
 string型は 引用符(") で囲んで定義します。また \ を使用して、特定の特殊文字をエンコードします。

 以下に簡単なサンプルを示します。



エスケープシーケンス


   F#では、特定の特殊な文字を表現するために、エスケープシーケンスを利用します。エスケープシーケンスは \ と文字を組み合わせで表されます。
 以下が、エスケープシーケンスの一覧となります。

文字エスケープシーケンス
バックスペース\b
改行\n
キャリッジリターン\r
タブ\t
円記号(バックスラッシュ)\\
引用符(")\"
アポストロフィ\'
Unicode 文字\uXXXX または \UXXXX (Xは16進数の数字)


逐語的文字列


   引用符(")の前に @記号 を記述することで逐語的文字列(= Verbatim string)とすることができます。逐語的文字列の中ではエスケープシーケンスは無視され、表記したとおりに文字列解釈されます。ただし、引用符(")のみ、2つ記述する(= 2重引用符にする)必要があります。
 さらに、引用符(")を3つつなげた "3重引用符" で文字列リテラルを作成することもできます。この場合、引用符(")を表現するために2重引用符を記述する必要すらなくなります。

 以下は簡単なサンプルとなります。



文字列演算子


 2つ以上の文字列リテラルを連結することもできます。その際に利用するのが + 演算子です。 足し算の要領で複数の文字列を連結することができます。