当前位置:  开发笔记 > 编程语言 > 正文

对于是和否值的枚举来说,什么是好名字

如何解决《对于是和否值的枚举来说,什么是好名字》经验,为你挑选了5个好方法。

你说你不想使用bool,因为它会被打印出来供用户查看其他内容.这表明问题不是存储而是显示.无论如何都要将是/否存在真/假,但是没有必要为它创建一个全新的类型IMO.

编辑:除了建议你不要摆在首位使用一个枚举,我强烈建议,如果你使用一个枚举,你改变了顺序或使用显式值.如果您最终将值视为整数,则Yes = 0,No = 1将会非常混乱.



1> Jon Skeet..:

你说你不想使用bool,因为它会被打印出来供用户查看其他内容.这表明问题不是存储而是显示.无论如何都要将是/否存在真/假,但是没有必要为它创建一个全新的类型IMO.

编辑:除了建议你不要摆在首位使用一个枚举,我强烈建议,如果你使用一个枚举,你改变了顺序或使用显式值.如果您最终将值视为整数,则Yes = 0,No = 1将会非常混乱.


如果你限制你的存储机制永远可以直接呈现给用户,我怀疑你会把自己绑在其他地方.我真的会在适当的时候翻译它.作为奖励,它对i18n来说更容易......

2> Nikola Stjel..:

我建议你使用一个名称来表示设置为是或否的值.

例如

public enum Married
{
    YES,
    NO
}



3> Ed S...:

我会很困惑地看到用于布尔值的枚举.你这么说:

注意:是的,我可以将它们存储为bool(这是它以前的工作方式).我的设计选择是明确用户做出的是/否选择,因为他们会看到这个
打印在其他内容中,我希望它更明显的选择是什么.

我没有看到"是"或"否"如何更"明确"而不是真或假.



4> Jayden..:

ResponseEnum或EResponse或UserResponse取决于您的约定.

我不会仅限于是或否,因为将来您可能希望添加需要不确定响应的功能.



5> Daniel Paull..:

我想打个电话:

enum Boolean
{
     Yes,
     No
}

不,等等,你已经可以使用内置的布尔类型了.

如果你在这里使用枚举的唯一原因是因为你想要向用户显示一个方便的字符串转换,那么当你做更复杂的事情时,你将会非常严重地陷入困境.从视图中分离模型将为您提供良好的服务.阅读MVC和/或MVVM模式.

我也可能会建议一个带有一些自定义属性的简单布尔值来定义要用来代替"true"和"false"的显示字符串.然后,您可以编写自己的字符串方法,以查找自定义属性.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有