OK, now I see what you're getting at (I think). Yeah, it seems like what you want is a Generic.Dictionary(Of String, Generic.Dictionary(Of Integer, IITTrack)). Again, I'd say that hiding it inside a class would be a good idea. Then you could provide a an Item property something like this:VB Code:
Private tracksByAlbum As New Generic.Dictionary(Of String, Generic.Dictionary(Of Integer, IITTrack)) Public Property Item(ByVal albumName As String, ByVal trackID As Integer) As IITTrack Get Dim tracksByID As Generic.Dictionary(Of Integer, IITTrack) = Me.tracksByAlbum(albumName) If tracksByID Is Nothing Then Return Nothing Else Return tracksByID(trackID) End If End Get Set(ByVal value As IITTrack) Dim tracksByID As Generic.Dictionary(Of Integer, IITTrack) = Me.tracksByAlbum(albumName) If tracksByID Is Nothing Then tracksByID = New Generic.Dictionary(Of Integer, IITTrack) Me.tracksByAlbum.Add(albumName, tracksByID) End If tracksByID(trackID) = value End Set End Property




Reply With Quote