Even though VB
.NET passes parms byVal as the default, I just realized that with arrays, they're always passed as references regardless of whether you specify byVal or byRef in the receiving function. Is there anything in the Fast Track or Professional VB
.NET 2nd edition that spells this out? I was surprised that as much as I had read about the change from byRef to byVal as the default going from VB6 to .NET, I missed this.
I'm glad it's this way, though, since C/C++ work the same way, i.e. an array name is really a pointer to the array, so any operation on the array in a function it's passed to works on the original, not just a local copy in the function it's passed to.