Re: How to dynamically resize an array?

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



NoOfEpisodes is unknown until the episodes have read in one by one from the xml file. In the previous version of the program I just gave the array a large value eg. 40 as it is unlikely any season of a TV series will have that many episodes. I`m just tidying the program up and it seemed wasteful to declare an array that large when it probably isn`t needed. The only other way would be to read the xml file twice, firstly counting the number of episodes and then declaring the array, and then read it again and fetch in the episode data.

Rob

"Gazmik" <postmaster@xxxxxxxxx> wrote in message news:cOOdnU5oTsIlq5rXnZ2dnUVZ_g-dnZ2d@xxxxxxxxxxxxxx


Since you are keeping track of the number of episodes in the structure, one way to do it would be to set the episode array to a size that would be sufficient in most circumstances before you use it:

NoOfEpisodes = 0: Redim Episode(32)

And then as you're adding to the array, check to see if it needs resized:

NoOfEpisodes += 1
If NoOfEpisodes > Episode.GetUpperBound(0) Then Redim Preserve Episode(Episode.GetUpperBound(0) + 32)

That way, you aren't redimensioning the the array every time that you add a new episode record.

.



Relevant Pages

  • Re: How to dynamically resize an array?
    ... array a large value eg. 40 as it is unlikely any season of a TV series ... will have that many episodes. ... The only other way would be to read the xml file twice, ... Once you load the XML document, use XPATH query statements to find ...
    (microsoft.public.dotnet.languages.vb)
  • Re: How to dynamically resize an array?
    ... season of a TV series will have that many episodes. ... I`m just tidying the program up and it seemed wasteful to declare an array that large. ... That's a piffling amount of memory, almost nothing at all these days. ...
    (microsoft.public.dotnet.languages.vb)