Здесь на самом деле два важных понятия, которые нужно запомнить здесь.
Во-первых, как указывали Ганс и Крис , Structure Person
объявляет тип значения из которых копии передаются между вызовами метода.
Вы все еще можете получить доступ (т.е. получить и set) к членам типа значения, хоть.В конце концов, это работает:
Dim people(0) As Person
people(0).first = "Yogi"
people(0).last = "Bear"
people(0).age = 35
Таким образом, другой важный момент, который нужно осознать, заключается в том, что records(0)
обращается к специальному List(Of Person)
классу Item
свойство , которое является сладкой оберткой вокруг двух вызовов метода (геттер и сеттер).Это не прямой доступ к массиву;если бы это было (т. е. если бы records
был массивом), ваш исходный код действительно работал бы.