色を保存するために、おそらく配列または他のコレクションを使用する必要があります。
let colors =
[| Color.Red
Color.Green
Color.Blue |]
let p = new Pen(colors.[index])
g.DrawRectangle(p, 0, 0, 10, 10)
列挙型は、まったく異なる目的のために設計されています。これらは、多数のオプションを列挙して名前でアクセスする場合に便利です (つまり、インデックスでアクセスするのではなく)。列挙型を使用して、たとえば、一部のステート マシンの状態やその他のオプションを表すことができます。
あなたの例では、異なる色を異なる種類のグラフィック要素に関連付けたい場合に役立ちます。背景に 1 つの色を使用し、前景に別の色を使用したいとします。列挙型または F# 識別共用体を定義して、2 つのケースを表すことができます。
type ColorType =
| Foreground
| Background
...そして、個々のタイプに実際の色を割り当てるコレクションを定義できます。
let colors =
dict [ (ColorType.Foreground, Color.Red);
(ColorType.Background, Color.Black) ]
次にcolors.[ColorType.Foreground]
、指定した種類の色 (この場合は赤) を取得するために使用できます。ただし、列挙型 (または F# の判別共用体) のケースにインデックスでアクセスすることはできません。
これは F# の非常に基本的な側面であるため、F# WikiBookを調べたり、MSDN で紹介を読んだり、F# に関する書籍を購入したりすることをお勧めします。