我有一個狀態字段,可以保持下面的值的數據庫:使用枚舉或字典?
- 0 Registrado
- 1 ACTIVO
- 2 Finalizado
- 3 Anticipado
- 4 Reestructurado
當然,我只是將數字保存在數據庫中的tinyint數據類型中。然後我需要查詢該表,但GUI必須顯示字符串值而不是數值。
實現它的最好方法是什麼?我應該使用Enum數據類型還是字典?使用其中一個的優點是什麼?
此外,結果將在DataGrid
我有一個狀態字段,可以保持下面的值的數據庫:使用枚舉或字典?
當然,我只是將數字保存在數據庫中的tinyint數據類型中。然後我需要查詢該表,但GUI必須顯示字符串值而不是數值。
實現它的最好方法是什麼?我應該使用Enum數據類型還是字典?使用其中一個的優點是什麼?
此外,結果將在DataGrid
的辦法我想借此顯示是
tinyint
值到enum
Dictionary<TheEnumType, string>
其值映射到用戶字符串例如
public enum Names {
Registrado = 0,
Activo = 1,
Finalizado = 2,
Anticipado = 3,
Reestructurado = 4
}
現在可以將DB值和相應的枚舉
int theDbValue = ...;
Names name = (Names)theDbValue;
構建的名稱之間的映射之間輕鬆轉換,現在有Dictionary<Names, string>
輕鬆完成。
var map = new Dictionary<Names, string>();
map[Names.Registrado] = "...";
map[Names.Activo] = "...";
// etc ...
如果我們在談論有限的選擇,我會建議enums,因爲表現明智,他們會好得多。一對夫婦的類似的問題,可以幫助
字典看起來極像是串[]語義現在... –
如果使用實體框架,我會用一個實體,沒有枚舉,也沒有字典。這樣如果表格中有新的條目,則不需要重新編譯任何東西... –
請不要在「C#」等前加上標題。這就是標籤的用途。 –