vb.net 教程 1-12 枚举

前端之家收集整理的这篇文章主要介绍了vb.net 教程 1-12 枚举前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当一个变量有几种可能的取值(整数值,包括负数)时,可以将它定义为枚举类型。
枚举只能是整数类型Byte、Integer、Long等,不能是其他类型,如single、double等
个人觉得枚举作用是管理和使用常量,其中的每一个值更好的是用来表示一种状态,其次用文字来表示这种状态,比数字更直观。
常见的枚举例如星期几,在下面将会说到。
.net中很多控件的属性都用到枚举,以ComboBox属性DropDownStyle为例,DropDownStyle是一个ComboBoxStyle枚举值
Public Enum ComboBoxStyle
Simple = 0
DropDown = 1
DropDownList = 2
End Enum
其中
Simple 指定列表始终可见,并指定文本部分可编辑。
DropDown 通过单击下箭头指定显示列表,并指定文本部分可编辑。
DropDownList 通过单击下箭头指定显示列表,并指定文本部分不可编辑。
以星期几为例来看看枚举的定义:
Enum weekday
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
End Enum
这种情况下表示weekday是一个Integer类型,Sunday的值为0,Monday的值为1.。。。。Saturday的值为6。
等同于以下定义:
Enum weekday As Integer
Sunday = 0
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
End Enum
当然我们还可以把其中的成员定义为一个负数,例如以下定义:
Enum weekday As Integer
Sunday = -3
Monday = 1
Tuesday
Wednesday
Thursday
Friday
Saturday
End Enum
每个成员的值依次为-3、1、2、3、4、5、6
如果按照以下定义:
Enum weekday As Integer
Sunday = 1
Monday = 3
Tuesday = 2
Wednesday
Thursday
Friday
Saturday
End Enum
每个成员的值依次为1、3、2、3、4、5、6
新建一个控制台程序,输入以下代码
Module Module1

    Enum weekday As Integer
        Sunday = 7
        Monday = 1
        Tuesday 
        Wednesday
        Thursday
        Friday
        Saturday
    End Enum
    Sub Main()
        Dim oneday As Integer
        Try
            Do While True
                Console.WriteLine("请输入一个数字")
                oneday = Integer.Parse(Console.ReadLine())
                Select Case oneday
                    Case weekday.Sunday
                        Console.WriteLine("输入星期天")
                    Case weekday.Monday
                        Console.WriteLine("输入星期一")
                    Case weekday.Tuesday
                        Console.WriteLine("输入星期二")
                    Case weekday.Wednesday
                        Console.WriteLine("输入星期三")
                    Case weekday.Thursday
                        Console.WriteLine("输入星期四")
                    Case weekday.Friday
                        Console.WriteLine("输入星期五")
                    Case weekday.Saturday
                        Console.WriteLine("输入星期六")
                    Case Else
                        Console.WriteLine("输入错误的日期")
                End Select
            Loop
        Catch ex As Exception
            Console.WriteLine("输入的不是整数")
            Console.ReadKey()
        End Try
    End Sub

End Module

当输入的是整数的时候,代码会判断是星期几或者是错误的日期,当输入不是整数的时候,代码提示输入错误并结束。
运行结果:

当一个枚举中有多个状态同时存在的时候,通常使用0、1、2、4、8、16……来定义。例如文件属性

Public Enum FileAttributes
        [ReadOnly] = 1
        Hidden = 2
        System = 4
        Directory = 16
        Archive = 32
        Device = 64
        Normal = 128
        Temporary = 256
        SparseFile = 512
        ReparsePoint = 1024
        Compressed = 2048
        Offline = 4096
        NotContentIndexed = 8192
        Encrypted = 16384
    End Enum

文件属性既只读又是隐藏的时候,那么该文件属性等于3(1+2),当文件属性包含只读、隐藏、系统的时候,该文件属性为7(1+2+4)。

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

原文链接:https://www.f2er.com/vb/256089.html

猜你在找的VB相关文章