枚举在VB.net中为True / False

时间:2014-08-11 12:50:43

标签: vb.net string enums

我想在VB.net中编写以下Enum:

Enum EndOfSession
    TRUE
    FALSE
End Enum

返回True或False IN String格式

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

您需要逃避这些保留字:

Enum EndOfSession
    [TRUE]
    [FALSE]
End Enum

现在它已经有效了:

Console.Write(String.Format("{0}", EndOfSession.TRUE))  ' TRUE

了解详情:http://msdn.microsoft.com/en-us/library/ksh7h19t(v=vs.90).aspx

答案 1 :(得分:1)

请不要。如果您确定了对枚举的需求,请确保它包含TrueFalse以外的值。对于那些使用常规布尔值。枚举的好处是它允许您拥有2个以上可能的命名值。在这种情况下,您无法添加项目#3。考虑:

  • 真(好)
  • 错(好)
  • 也许?

如果您考虑Undefined的可能值,则称为Nullable(Of Boolean)

如果您担心将布尔值转换为其字符串表示形式,.NET已内置支持:

Dim b As Boolean = True
Console.WriteLine(CStr(b)) 'outputs "True"

因此,从架构的角度来看,您只是以一种完全无用的方式使用枚举。这就像买车只是为了收听内置收音机。