VB.NET Итерация по объектам структуры - PullRequest
3 голосов
/ 05 января 2012

У меня есть структура "xyz" с 3 строковыми объектами."foo", "bar" и "abc" Я хочу перебрать структуру и сравнить имена объектов.

Structure xyz
    dim foo as string
    dim bar as string
    dim abc as string
End Structure

Псевдо:

For each x as object in xyz 
    if x.Name = "foo" then
        'bang
    end if
End each

Возможно ли это?

1 Ответ

3 голосов
/ 05 января 2012

Если это всего лишь один раз, вам, вероятно, будет проще использовать словарь, но вы можете сделать это с помощью Reflection, если вы предпочитаете сохранить структуру.

В этом небольшом фрагменте кода перечислены все элементы структуры для вас в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...