1
37
|
2
24
当心!如果你
|
3
19
我已经看到,此功能有时用于“默认”值:
但请注意,这只是您的枚举用户的糖分。只是因为它被称为 违约 这并不意味着它是初始值。 |
4
10
枚举的用法与常量相同,并且您可以有两个具有相同值的常量,这些常量在同一位置使用。这可能是因为第三方API,因为向后兼容性或者仅仅是因为业务规则。 |
5
6
多个枚举成员可以共享相同的关联值。实例
显示一个枚举,其中两个枚举成员“蓝色”和“最大”具有相同的关联值。 在这种情况下,您可以检查mycolor==color.max,这在某些情况下很有用。 |
6
4
枚举是常量变量的枚举,可以有两个具有相同值的项,我认为没有理由出现语法错误,但是,这将导致此代码中的编译错误。
|
7
3
这不是语法错误。所有的
因此,如果开发人员错误地输入(如您的示例中所示),就CLR而言,这是一个完全有效的例子。CLR假定开发人员知道他在做什么,以及为什么选择这样做。 至于现实世界中的情况,我一时冲动想不出什么,但我仍然确信,在某些情况下,它可能会有所帮助。 |
8
2
当然有,尽管这可能不太常见。如果有一个实体/值在两个不同的名称下通常是已知的,那么这是一个很好的理由。
您提出的场景可能就是这样一个例子。一个更好的,直接从BCL,是
希望这能让你对适当的场景有一个很好的了解(你自己可能就是其中之一)。 |
9
1
很好。您可以拥有两个不同于API用户观点的值,但在功能上可以被视为相同的值。 |
10
1
通过命名值而不是实际值使用是根。假设你有同样价值的法语、英语等。这是枚举的根。 |
11
1
有时建议(尽管 不 微软推荐C!-请参见Salaros的注释)在枚举中包含下限和上限,例如
为了验证/迭代每个可能的设置。虽然我觉得.NET可以提供一个这样的工具:) |
12
1
这是有效的,允许使用不同的名称引用相同的值。 注意这一点在单程上很有效。如果从int/string转换为enum或格式化字符串,可能会得到不一致的结果。 如:
输出:
|
13
1
这个例子将说明为什么这是有用的。当你在公共图书馆工作时,以不同的方式命名相同的事物可能是有用的,它是专门为公共使用的。
当不同的词在某些情况下有相同的含义时,就有意义地命名它们。解析时,在这种情况下,它总是返回良好的值。 |
14
0
我在.NET TWAIN包装器中看到过同样的事情——它允许所有的TWAIN消息代码存储在一个大的枚举中,但它一开始的确让事情变得有点混乱。 |
15
0
我认为重复使用同一个号码有很多用途。为了给出一个新的例子,假设您有一个排名系统,它将确保在依赖于某个类(父类)的其他类(子类)之前创建特定类(父类)的对象,您可能有一些处于同一“层”中的子类,而不考虑先创建哪个类。在下面的示例中,首先创建父级,然后创建子级1、2或3,最后创建子级4。如果将其视为树图,则具有相同编号的任何项都将是“同级”。
虽然我可以看出你的观点,但这很容易出错。在这种情况下,如果Visual Studio有一个选项来启用允许编译的警告,但如果使用同一个数字两次,则会引发警告,这将非常方便。 |
16
0
我认为它对字段映射很有用,例如(在LinqPad中):
目标是使用较短的名称,但是来自parse或triparse的结果不一致,此代码输出:
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |