Property that returns a row in a listbox

Is there a data type that I can use to store the reference to a particular row in a listbox. At the moment I am keeping track of rows using a numbered index. I am tagging each row with the class that needs to keep track of the row index and then whenever a particular row is moved or deleted I reassign the indices with something like this:

dim i as uint32

for i = 0 to listbox.listcount
myClass(listbox.rowtag(i)).listindex = i
next

THEN I’D REFER TO A PARTICULAR ROW WITH:

listbox.Cell(listindex, 0) = "new value"

Is there a better or easier way to manage this?

Thanks