VB.NET 迭代结构对象

The*_*per 4 vb.net iteration structure

我有一个结构“xyz”,其中有 3 个字符串对象。“foo”“bar”和“abc”我想迭代结构并比较对象的名称。

Structure xyz
    dim foo as string
    dim bar as string
    dim abc as string
End Structure
Run Code Online (Sandbox Code Playgroud)

伪:

For each x as object in xyz 
    if x.Name = "foo" then
        'bang
    end if
End each
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Sha*_*ard 5

如果这只是一次性的事情,那么使用字典可能会更容易,但如果您希望保留结构,则可以使用反射来完成此操作。

这个小代码片段将为您列出StringBuilder.

Dim sbOutput As New System.Text.StringBuilder
Dim t As Type = GetType(xyz)
For Each p As System.Reflection.FieldInfo In t.GetFields()
  sbOutput.AppendLine(p.Name)
Next
Run Code Online (Sandbox Code Playgroud)