1
nikenidage1 9 小时 34 分钟前
那个啥,你得先说语言,很多语言的枚举类型就不允许为 null
|
2
drymonfidelia OP @nikenidage1 我用过的几个语言好像都可以为 null ,像 C#
|
3
geelaw 8 小时 43 分钟前 via iPhone
@drymonfidelia #2 那你可能要精进一下 C#,在 C# 里面枚举的取值范围就是底层整数类型的范围,所以不存在 null 。
设 T : struct, Enum 那么 T? 即 Nullable<T> 当然可以取 null ,另外 obejct 、ValueType 、IComparable 、IConvertible 、IFormattable 、ISpanFormattable 类型的变量都可以用来存储 boxed enum 的引用或 null 。 |
4
msg7086 4 小时 7 分钟前
null 一般指的是值缺失。None 是值存在但语义为空。
|
5
xuld 2 小时 23 分钟前
快速回答:无论什么时候,都首选定义一个 None
如果可为 null ,则表示需要一个指针位来存储枚举,增加复杂度 |
6
h1298841903 1 小时 30 分钟前
定义 None 、UNINIT (未初始化)、IDLE (闲置状态),都可以代表 null ,总之,应该有个确定的状态,这样你画状态转换图的时候,也比较好画。
|