VB.Net Tutorial/Data Type/Enum
Содержание
Assign value to Enum elements
<source lang="vbnet">Public Enum AccessLevel
Clerk = 10 Supervisor Administrator = -1
End Enum
public class Test
public Shared Sub Main Dim m_AccessLevel As AccessLevel m_AccessLevel = AccessLevel.Supervisor End Sub
End class</source>
Assign value to only one Enum element
<source lang="vbnet">Public Enum AccessLevel
Clerk Supervisor Administrator User = 0 Manager SysAdmin Superuser = SysAdmin
End Enum
public class Test
public Shared Sub Main Dim m_AccessLevel As AccessLevel m_AccessLevel = AccessLevel.Supervisor End Sub
End class</source>
Cast Integer to Enum value
<source lang="vbnet">Public Enum AccessLevel
Clerk Supervisor Administrator User = 0 Manager SysAdmin Superuser = SysAdmin
End Enum
public class Test
public Shared Sub Main Dim m_AccessLevel As AccessLevel Dim integer_value As Integer = 1 m_AccessLevel = CType(integer_value, AccessLevel) Dim access_level As AccessLevel = AccessLevel.Clerk Console.WriteLine(access_level.ToString()) End Sub
End class</source>
Clerk
Compare Enum element using logic operator
<source lang="vbnet">Public Enum workDays
Saturday Sunday = 0 Monday Tuesday Wednesday Thursday Friday invalid = -1 End Enum
Public Class Tester
Public Shared Sub Main Dim MyDay As WorkDays MyDay = WorkDays.Saturday If MyDay < workDays.FriDay Then Console.WriteLine("It"s the weekend.Invalid work day!") End If End Sub
End Class</source>
It"s the weekend.Invalid work day!
Convert Enum to Integer
<source lang="vbnet">Module Module1
Enum Temperatures A = 0 B = 32 C = 60 D = 72 E = 212 End Enum Sub Main( ) System.Console.WriteLine("B: {0}",CInt(Temperatures.B)) System.Console.WriteLine("E: {0}", CInt(Temperatures.E)) End Sub End Module</source>
B: 32 E: 212
Declare Enum variable
<source lang="vbnet">Public Enum AccessLevel
Clerk Supervisor Administrator
End Enum
public class Test
public Shared Sub Main Dim m_AccessLevel As AccessLevel m_AccessLevel = AccessLevel.Supervisor End Sub
End class</source>
Define and use Enum as Integer
<source lang="vbnet">Option Strict On <Flags> Public Enum MyValues As Integer
AA = 1 BB = 2 CC = 4 DD = 8
End Enum Public Module modMain
Public Sub Main() Dim Computer1 As MyValues = MyValues.AA Or MyValues.BB Console.WriteLine(Computer1.ToString()) End Sub
End Module</source>
AA, BB
Define Enum and assign value
<source lang="vbnet">Module Module1
Enum Temperatures A = 0 B = 32 C = 60 D = 72 E = 212 End Enum Sub Main( ) System.Console.WriteLine("B: {0}",Temperatures.B) System.Console.WriteLine("E: {0}",Temperatures.E) End Sub End Module</source>
B: B E: E
Enum value duplication
<source lang="vbnet">Public Enum AccessLevel
Level1 Level2 Level3 AliasLevel1 = Level1 AliasLevel2 = Level2 AliasLevel3 = Level3 AliasLevel4 = Level3
End Enum public class Test
public Shared Sub Main Dim access_level As AccessLevel = AccessLevel.Level1 Console.WriteLine(access_level.ToString()) Console.WriteLine(AccessLevel.Level1.ToString()) Console.WriteLine(AccessLevel.Level2.ToString()) Console.WriteLine(AccessLevel.Level3.ToString()) End Sub
End class</source>
Level1 Level1 Level2 AliasLevel3