はい、コレクションと呼ばれるクラスのクラスを使用する必要があるため、次のようなものがあります...
Class Employee
Property Id (a unique numeric identifier)
Property Name
Property Age
Property Position
Property Department
Property Company
Property Wage
Property HoursWorked
Property PayCheck
Method CalculatePayCheck()
End Class
そして、従業員のコレクション
Class Employees
Property AllEmployees as generic.list(of Employee)
Property ThisEmployee(Id as Long) as Employee
Property ThisEmployee(Name as string) as Employee
Method AddEmployee(Name, Age, Position, Department, Company, Wage, HoursWorked, PayCheck)
Method RemoveEmployee(Name)
End Class
Id フィールドの考え方は、たとえば 2 つの「Steven Smith」を使用するなど、名前を重複させることができるということです。
そして、従業員にアクセスするには、あなたがしたように行うことができます
With ThisEmployee("Bob")
また
With ThisEmployee(6)
ほとんどのコレクションはゼロベース (ゼロから開始) であるため、7 番目の従業員を抽出します。
アップデート
上記のサンプル コードを参照すると.... はい、JoeB、これはジェネリック コレクションであるため、for/next ループまたは for/each ループまたは do/while ループを使用できます。
何かのようなもの...
For Counter = 0 to Employees.Count -1
'print name using the EMPLOYEES collection object
Print AllEmployees(Counter).Name
'print name using the EMPLOYEE object (single employee using the Id property)
Print ThisEmployee(Counter).Name
Next
場合によっては、オブジェクトを使用する前にインスタンス化する必要があるかもしれません...そのように...
Dim TmpEmployee as Employee
For Counter = 0 to Employees.Count -1
'get employee from collection
TmpEmployee = AllEmployees(Counter)
'print name using the EMPLOYEE object
Print TmpEmployee.Name
TmpEmployee = nothing
Next