vb.net枚举 Enum 星期几 周几 Parse

枚举,我们可以简单的理解为一组关联或者有序的固定值;比如一周有7天,我们想直接取中文格式的“周一”到“周日”,

VB.NET是没有一个专门的函数实现这个功能的,这个时候我们就可以通过枚举的方法简单获取


示例如下:

第一步,设置枚举

Enum myWeek
周日 = 1
周一 = 2
周二 = 3
周三 = 4
周四 = 5
周五 = 6
周六 = 7
End Enum

注意:如果我们不给枚举中各项赋值,如下所示

Enum myWeek
周日
周一
周二
周三
周四
周五
周六
End Enum

这样各项都会有一个认值,“周日”到“周六”对应值为0到6,为什么这样说?因为,枚举中所列各项值是按先后顺序是从0开始的,未被赋值的项其认值为上一项值+1


第二步,获取相应的星期值

首先我们要注意一下,枚举的返回值是一个整型,按以上的设置我们可以获取的结果是0—6,但是我们想要获取的是中文的星期,那就通过以下方法来实现:
[Enum].Parse(GetType(myWeek),3).ToString
这个方法获取的结果就是“周二”

这里主要使用了另外一个方法Parse,第二个参数3你可以用Weekday(Now)来获取
完整的获取当天是周几的写法为:

[Enum].Parse(GetType(myWeek),Weekday(Now)).ToString

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...