使用诸如System的内置类型(如System.Byte或String)的自定义枚举有什么好处?

时间:2018-10-10 15:55:58

标签: c# asp.net

使用自定义枚举(例如Direction)优于诸如System.Byte或String的内置类型有什么好处?

在孟买大学,该问题将在当年的2018年5月问到“ B.Sc.IT”(带有C#的ASP.NET)课程。我没有得到正确的答案。请帮助我的任何人,谁知道这个问题的正确答案。

2 个答案:

答案 0 :(得分:0)

我认为这个问题的出处是枚举具有一组预定义的值,因此拼写错误会被编译器捕获。例如:

public enum Direction{
Up, Down, Left, Right
}

不可能将Direction定义为Diagonal,编译器不会允许您。您还可以从枚举中获得intelli sense

enter image description here

字符串/字节没有明确定义的值列表。模因stringly typing很好地总结了这一点:

  

其他更合适的类型时采用字符​​串的方法参数   应该使用。在方法中需要字符串的情况下   调用(例如网络服务),然后传递并使用该字符串   整个调用图的其余部分,而无需先将其转换为   更合适的内部表示形式(例如,解析它并创建一个   枚举,那么您其余的人都有很强的打字能力   代码库)。消息传递而不使用键入的消息等   字符串类型过多的代码通常很难理解和   在运行时爆炸,并产生编译器通常会出现的错误   找到

答案 1 :(得分:-1)

所以您不会得到像这样的数据

  • N
  • n
  • 北部
  • 不。
  • N。

当您期望指南针方向时。使用字符串而不是Enum或至少某种某种约束将进行查询,并永远为您之后的每个人带来极大的烦恼。