2009-07-30 125 views
0

我需要將Days(number and name)的列表傳遞給視圖!數組或泛型集合?

最好的辦法是做什麼?

我想創建一個通用的集合,但不知道如何?或數組?

回答

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個選擇,我會使用一個數組。因爲一個數組是不可變的。你不能意外地「添加」或「刪除」視圖應該是的東西。這是一種防禦性編程。

而且你仍然可以使用foreach就好....那麼爲什麼要收集?根本不需要。

+0

數組是可變的。您可以使用List.AsReadOnly獲取要在其他位置發送的列表的只讀視圖。 – 2009-07-30 20:26:35

+0

@ Ben Lings在* normal *方法中,數組是不可變的。我沒有說數組中包含的對象不是不可變的。作者要求收集*或*一個數組......正如我在第一句中所說的那樣...... – chakrit 2009-07-30 20:28:19

0

你真的應該使用IEnumerable<T>。在ViewData中添加一個List<T>,然後在另一側將其轉換爲IEnumerable<T>

2

爲什麼不枚舉?

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