2010-07-28 63 views
0

我有一個數據庫需要狀態列更新爲單個字符狀態碼('E'或'U')。「char」的替代枚舉

我想使用枚舉通過我的API更新此字段以確保可能的值被正確限制。顯然,枚舉不能是char類型的。什麼可能是一個好的替代方法?

不,我不能改變數據庫架構:)

+0

看起來像http://stackoverflow.com/questions/1180174/how-to-implement-c-enum-for-enumerated-char1-database-field - 很有幫助,這將有助於你。 – Chris 2010-07-28 11:27:54

回答

4

您可以指定字符來枚舉成員。

這是否幫助:

enum Status 
{ 
Empty = 'E', 
Updated = 'U' 
} 
void Main() 
{ 
Status status = Status.Empty; 
Console.WriteLine("{0}: {1}", status, (char)status); 
} 
+0

有趣的是,我沒有意識到編譯器允許這:)謝謝 – leppie 2010-07-28 11:29:26

+0

我也沒有... Linqpad的好處! – 2010-07-28 11:30:51

+0

我以前看過這個設置,對我來說似乎有些不好意思,並且不能確保數據的完整性(您必須記住演員表)。如果沒有更好的可用,我可以使用它。 – fearofawhackplanet 2010-07-28 12:16:53

1

byte - 如果你有char

ushort - 如果你有nchar

兩者可以轉換到底層整數,然後轉換爲char( C#)。