2009-07-30 1 views
0

曜日(番号と名前)のリストをビューに渡す必要があります。配列または汎用コレクションですか?

これを行うにはどうすればよいですか?

私はジェネリックコレクションを作成しようとしていましたが、どうしたらよいかわかりません。または配列?あなたは辞書を使用することができます。このような何かのために

答えて

1
Dictionary<string, int> days = new Dictionary<string, int>(); 

days.Add("Sunday", 1); 

...

0

...簡単なキー/値のペア

Dim d as New Dictionary(Of Integer, String) 
d.Add(0,"string2") 
' etc 
-2

私は、これらの2つのオプションを持っていた場合、私は、Arrayを使用すると思います。

配列が不変であるためです。ビューがすべきものを誤って「追加」または「削除」することはできません。それは防御的なプログラミングのようなものです。

あなたはまだforeachを使用しても問題ありません。なぜコレクションに行くのですか?全く必要はありません。

+0

アレイは変更可能です。 List.AsReadOnlyを使用すると、他の場所に送信するリストの読み取り専用ビューを取得できます。 –

+0

@Ben Lings *通常の方法で使用すると、配列は不変です。私は配列に含まれるオブジェクトが不変ではないとは言いませんでした。そして、著者はCollection *か*配列のどちらかを要求します。最初の文で言いましたように.... – chakrit

+0

配列は一定の長さですが、可変要素があります。 –

0

あなたは本当にIEnumerable<T>を使用する必要があります。 ViewDataにList<T>を追加し、もう一方の側にIEnumerable<T>としてキャストします。

2

なぜない列挙型?

enum days 
{ 
    Monday = 1, 
    Tuesday = 2 
    ... 
} 
+1

フレームワーク自体にenumがあります:DayOfWeek – Colin

関連する問題