Roy Soltoff <(E-Mail Removed)> wrote:
> That's kind of interesting as the Microsoft documentation stated, "In Visual
> Basic .NET, the lower bound of every array dimension is 0, and you cannot
> declare it to be otherwise.". That's verbatim from the .Net section of the
> MSDN DVD. However, I do ssee an overloaded array constructor listed in the
> docs that indeed allows you to set the lower and upper bounds of a
> multi-dimensioned array. But looking over those constructors, none allow you
> to set the lower bound of a singly-dimensioned array.
There's nothing to stop you from using the constructor which can create
a multi-dimensional array to create a single-dimension array - just
pass a single length and a single lower bound.
Now, things get slightly odd when you differentiate between a .NET
array and a VB.NET array. I don't know about VB.NET, but certainly in
C# (current implementation) you can use the normal array features of
the language for either a single-dimensional array with a zero lower
bound, or for a multi-dimensional array with any lower bounds - but
*not* a single-dimensional array with a non-zero lower bound. When you
try to cast the Array to (say) object[] you get an exception.
So it really depends on how you read the docs - if you think of
"array" as "object()" or whatever, i.e. the *language* concept of the
array, then the docs may be correct. If you think of "array" as
"instance of System.Array" then they're not.
(I don't think I'd have corrected your earlier post if it had said
"VB.NET array" - but as it said ".Net array" I thought it was fair game
--
Jon Skeet - <(E-Mail Removed)>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too