Given an 2D Object Array [private object[,] objArr;] which houses DataSets (ds) with corresponding Index (Index) [objArr.SetValue(ds, Index);]

I want to retrieve (ds) corresponding to the Index supplied and store it in a dataset [rec].

Code:
rec = objArr.GetValue(Index);

First of all, does this .GetValue method return the object corresponding to the Index supplied? [i.e.: if I put objArr.SetValue(ds1,1) if I do objArr.GetValue(1) it should return ds1 right?].

My problem seems to stem from the fact that it is returning an OBJECT which I am trying to save as a Dataset [rec], I assume I must cast it back as a Dataset?

Any clues?