2010-07-28 79 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#)。