网站建设资讯

NEWS

网站建设资讯

vb.net遍历枚举,c++ 遍历枚举

vb.net中如何调用枚举中的字符串

没有办法直接取枚举名,只能根据枚举值,自己赋值

我们提供的服务有:成都做网站、网站设计、外贸营销网站建设、微信公众号开发、网站优化、网站认证、进贤ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的进贤网站制作公司

Private Enum duihuaA As Integer

第一个

第二个

第三个

第四个

第五个

第六个

第七个

第八个

End Enum

调用:

Select case X

case duihuaA.第一个

Return "第一个"

case duihuaA.第二个

Return "第二个"

..............

VB.NET的枚举求教解决方法

这个功能实现起来其实也很简单,就是通过反射去读取 DescriptionAttribute 的 Description 属性的值,代码如下所示:

/// summary

/// 返回枚举项的描述信息。

/// /summary

/// param name="value"要获取描述信息的枚举项。/param

/// returns枚举想的描述信息。/returns

public static string GetDescription(Enum value)

{

Type enumType = value.GetType();

// 获取枚举常数名称。

string name = Enum.GetName(enumType, value);

if (name != null)

{

// 获取枚举字段。

FieldInfo fieldInfo = enumType.GetField(name);

if (fieldInfo != null)

{

// 获取描述的属性。

DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,

typeof(DescriptionAttribute), false) as DescriptionAttribute;

if (attr != null)

{

return attr.Description;

}

}

}

return null;

}

这段代码还是很容易看懂的,这里取得枚举常数的名称使用的是 Enum.GetName() 而不是 ToString(),因为前者更快,而且对于不是枚举常数的值会返回 null,不用进行额外的反射。

当然,这段代码仅是一个简单的示例,接下来会进行更详细的分析。

如何获得某个类中所有枚举类型的名称 vb.net

'调用类System.Enum的

'Public Shared Function GetNames(enumType As Type) As String()

'方法,就可以获取指定枚举类型的所有常数名称

'下面有一个例子

Option Explicit On

Option Strict On

Imports System

Enum Color

Red

Green

Blue

Black

End Enum

Module Program

Sub Main()

For Each en As String In System.Enum.GetNames(GetType(Color))

Console.WriteLine(en)

Next

Console.Write("Press any key to continue . . . ")

Console.ReadKey(True)

End Sub

End Module

VB.net的遍历Foreach有什么功能呀。一直看不懂。 能给我解释下图中的语句意思吗?

for each是用来简化for的,但你这种写法有点奇怪,一般没这样用的,通常的用法是

dim a() as string={....}

dim str as string '定义临时变量,它的类型与你数组中元素类型一致

For Each str In a

MessageBox.Show(str)

Next

你上面代码中,a就是一个3个元素的数组,从a[0]到a[2], 用for each的时候,就会遍历你的a数组,上面的代码相当于

for i=0 to a.Length-1

MessageBox.Show(a(i))

next

VB.net如何枚举字符串?

Enum Week

周日 = 0

周一 = 1

周二 = 2

周三 = 3

周四 = 4

周五 = 5

周六 = 6

End Enum

Sub Main()

Dim myType As Type = GetType(Week)

MsgBox(Week.GetName(myType, Week.周二))

End Sub


名称栏目:vb.net遍历枚举,c++ 遍历枚举
分享网址:http://cdweb.net/article/hshigd.html