你说你不想使用bool,因为它会被打印出来供用户查看其他内容.这表明问题不是存储而是显示.无论如何都要将是/否存在真/假,但是没有必要为它创建一个全新的类型IMO.
编辑:除了建议你不要摆在首位使用一个枚举,我强烈建议,如果你做使用一个枚举,你改变了顺序或使用显式值.如果您最终将值视为整数,则Yes = 0,No = 1将会非常混乱.
你说你不想使用bool,因为它会被打印出来供用户查看其他内容.这表明问题不是存储而是显示.无论如何都要将是/否存在真/假,但是没有必要为它创建一个全新的类型IMO.
编辑:除了建议你不要摆在首位使用一个枚举,我强烈建议,如果你做使用一个枚举,你改变了顺序或使用显式值.如果您最终将值视为整数,则Yes = 0,No = 1将会非常混乱.
我建议你使用一个名称来表示设置为是或否的值.
例如
public enum Married { YES, NO }
我会很困惑地看到用于布尔值的枚举.你这么说:
注意:是的,我可以将它们存储为bool(这是它以前的工作方式).我的设计选择是明确用户做出的是/否选择,因为他们会看到这个
打印在其他内容中,我希望它更明显的选择是什么.
我没有看到"是"或"否"如何更"明确"而不是真或假.
ResponseEnum或EResponse或UserResponse取决于您的约定.
我不会仅限于是或否,因为将来您可能希望添加需要不确定响应的功能.
我想打个电话:
enum Boolean { Yes, No }
不,等等,你已经可以使用内置的布尔类型了.
如果你在这里使用枚举的唯一原因是因为你想要向用户显示一个方便的字符串转换,那么当你做更复杂的事情时,你将会非常严重地陷入困境.从视图中分离模型将为您提供良好的服务.阅读MVC和/或MVVM模式.
我也可能会建议一个带有一些自定义属性的简单布尔值来定义要用来代替"true"和"false"的显示字符串.然后,您可以编写自己的字符串方法,以查找自定义属性.