F# と C# の記法比較

MSDN F# リファレンスを使い C# と記法を比較する

リテラル

リテラル literal

元ネタ http://msdn.microsoft.com/ja-jp/library/dd233193.aspx

リテラル型

省略。"text"B で ASCII の byte[] を返すのが、それらしい。

F# 3.1 では、文字列リテラルを結合するために + 符号を使用できます。 また、列挙型フラグを結合するにはビットごとの OR 演算子 (|||) を使用できます。 たとえば、F# 3.1 では次のようなコードが有効です。

[<Literal>]
let literal1 = "a" + "b"

[<Literal>]
let fileLocation =   __SOURCE_DIRECTORY__ + "/" + __SOURCE_FILE__

[<Literal>]
let literal2 = 1 ||| 64

[<Literal>]
let literal3 = System.IO.FileAccess.Read ||| System.IO.FileAccess.Write

C# の場合は OR 演算子は(|)を利用する。enum の or も作れる。 定数扱いにする場合は、

const string literal1 = "a" + "b";
// const string fileLocation = __SOURCE_DIRECTORY__ + "/" + __SOURCE_FILE__;
const int literal2 = 1 | 64 ;
const System.IO.FileAccess literal3 = 
    System.IO.FileAccess.Read | System.IO.FileAccess.Write;