C# 枚举值与字符串、数字的转换

将枚举值转换为字符串、数字。

通常情况

DayOfWeek dayOfWeek = DayOfWeek.Monday;
Response.Write(dayOfWeek.ToString()); // Monday
Response.Write((int)dayOfWeek); // 1

即使用 ToString() 得枚举项名称、(int) 得值。

也可不用 (int),而使用 Convert.ToInt32()。

对应枚举项不存在时

DayOfWeek dayOfWeek = (DayOfWeek)99;
Response.Write(dayOfWeek.ToString()); // 99
Response.Write((int)dayOfWeek); // 99

Nullable + null 时

DayOfWeek? dayOfWeek = null;
Response.Write(dayOfWeek.ToString()); // 零长度字符串。
// Response.Write((int)dayOfWeek); // 不允许,会出现运行时错误。
Response.Write(Convert.ToInt32(dayOfWeek)); // 0

相关阅读

  • Convert、Parse、TryParse、(int) 的区别

你可能感兴趣的