我想在VB.net中编写以下Enum:
Enum EndOfSession
TRUE
FALSE
End Enum
返回True或False IN String格式。
任何帮助都将不胜感激。
答案 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)
请不要。如果您确定了对枚举的需求,请确保它包含True
或False
以外的值。对于那些使用常规布尔值。枚举的好处是它允许您拥有2个以上可能的命名值。在这种情况下,您无法添加项目#3。考虑:
如果您考虑Undefined
的可能值,则称为Nullable(Of Boolean)
。
如果您担心将布尔值转换为其字符串表示形式,.NET已内置支持:
Dim b As Boolean = True
Console.WriteLine(CStr(b)) 'outputs "True"
因此,从架构的角度来看,您只是以一种完全无用的方式使用枚举。这就像买车只是为了收听内置收音机。