背景
在我正在编写的 C# 命令行应用程序中,一些参数具有“yes”和“no”作为可能值。
我使用如下所示的 Enum 类型存储他们的输入。
enum YesNo
{
Yes,
No
}
这很好 - 代码有效。那里没问题。
注意:是的,我可以将这些存储为 bool(这就是它过去的工作方式)。我的设计选择是明确说明用户做出的 Yes/No 选择,因为他们会在其他上下文中看到这个打印,我希望它更明显地选择是什么。
我的问题
- 有一个名为“YesNo”的枚举似乎很奇怪 - 对于“是”和“否”值的枚举更好的名称有什么建议。
所以最后
我在 StackOverflow 的早期就问过这个问题。这不是假问题——我确实遇到过这种情况。我只是觉得用它看看社区会做什么会很好。因为它是,我承认一个有点奇怪的问题。
首先,感谢所有花时间回复的人。我试图用一个深思熟虑的结论来回报。
对答案的评论
切换到 bool。我理解你的动机,但我觉得我需要指出二元选择(我的意思是在任何两个值之间进行选择 - 活着/死去,已婚/未婚等)与布尔选择不同真假。我们发现程序员在是/否和真/假之间切换很容易——这很公平。如果在这种情况下我的选择是例如“Democrat”或“Replication”(我知道这是人为的例子),那么您会看到混淆或至少尴尬的可能性。我确实认为 bool 选项在这种情况下是有效的,但更少所以在其他二元选择中。
本地化- 重点。在我的具体情况下,这并不重要 - 这不是而且永远不会被本地化,但对于其他情况,这是需要考虑的事情。
超过三个选项- 事实上,后来我不得不添加第三个值来表示用户的有效(在我的应用程序中)条件,特别是没有做出选择。
有很多好的评论,谢谢大家!