Right now I have many locations with this structure. At the moment I have: name as `string` and x,y,z positions as `single`. So it's a mix of data types and I might want to add both more data in the future and also other data types. I must be able to easily extract any part of this data.

Example of how I'll work with this data is: When I choose South Wales from a combobox then I want to get its properties, x,y,z populated in a textbox. So they need to be "linked". If I choose London then it'll have its x,y,z properties etc. 

My initial idea is just to `dim` every single data such as in the first example below. This should be the easiest way with 100% control of what's what, and I could easily extract any single data but at the same time might get tedious I assume, or am I wrong? Is it a good way to approach this?

```
    Dim SW_FP As String = "South Wales"
    Dim SW_FP_X As Single = "489,1154"
    Dim SW_FP_Y As Single = "-8836,795"
    Dim SW_FP_Z As Single = "109,6124"

```

The next example below is something i just googled up. Is this a good method?

```
    Dim dt As DataTable = New DataTable
    dt.Columns.Add("South Wales", GetType(String))
    dt.Columns.Add("489,1154", GetType(Single))
    dt.Columns.Add("-8836,795", GetType(Single))
    dt.Columns.Add("109,6124", GetType(Single))

```

OR should I use something else? Arrays, Objects with properties... and this is where my ideas end. Are there other methods? XML?

I want to do it in a smart way from start instead of risking to rewrite/recreate everything in the future. So my main question is: **Which method would you suggest to be the smartest to choose?** and also if you could provide a super tiny code example.