使用自定义枚举(例如Direction)优于诸如System.Byte或String的内置类型有什么好处?
在孟买大学,该问题将在当年的2018年5月问到“ B.Sc.IT”(带有C#的ASP.NET)课程。我没有得到正确的答案。请帮助我的任何人,谁知道这个问题的正确答案。
答案 0 :(得分:0)
我认为这个问题的出处是枚举具有一组预定义的值,因此拼写错误会被编译器捕获。例如:
public enum Direction{
Up, Down, Left, Right
}
不可能将Direction
定义为Diagonal
,编译器不会允许您。您还可以从枚举中获得intelli sense:
字符串/字节没有明确定义的值列表。模因stringly typing很好地总结了这一点:
其他更合适的类型时采用字符串的方法参数 应该使用。在方法中需要字符串的情况下 调用(例如网络服务),然后传递并使用该字符串 整个调用图的其余部分,而无需先将其转换为 更合适的内部表示形式(例如,解析它并创建一个 枚举,那么您其余的人都有很强的打字能力 代码库)。消息传递而不使用键入的消息等 字符串类型过多的代码通常很难理解和 在运行时爆炸,并产生编译器通常会出现的错误 找到。
答案 1 :(得分:-1)
所以您不会得到像这样的数据
当您期望指南针方向时。使用字符串而不是Enum或至少某种某种约束将进行查询,并永远为您之后的每个人带来极大的烦恼。