about the index of string[] args, well, you are really going out the
boundary of the array, that's because string[0], means 0 items, not
that the last index is 0 (as used to be in VB).

If I'm not wrong in C++, there is always a first element in the match
for this array, that's the exe name, but this is C#, and that info is
taken away along with the enviroment info (like the working path and
stuff) (those are the things the OS pass to the exe).

So, in C# that string[] args is really the execution parameters of the
exe (as you know), if there are none, it will tell you that the size
is 0, don't expect -1. It tells you exactly how much items it has.

for example, if you write:
int[] x = new int[5];
you will have: x[0], x[1], x[2], x[3], x[4], exactly 5 elements.

but in VB, if you write:
Dim x(5) as integer
you will have: x(0), x(1), x(2), x(3), x(4), x(5), exactly an ubound
of 5.

so to make an empty array in C#, you do: int[] z = new int[0];, that's
like: Dim x(-1) as integer in VB, that -1 is a convention, and a ugly
one for that matter.

Stop counting things as a taylor, count as a mathematic, I really hate
those that come from VB 6, that used Option Base 1 (the dafault), that
now write for .NET, they keep thinking that the default is an lbound
of 1, and they are wasting an element. rembember this: THE LOWER BOUND
OF ANY ARRAY IN .NET WILL BE 0.

If you come from VB (As I did), I'll tell you that do not look for
cstr, val, or imp in C#, if you want them, I'll tell you that get them
is wrost than learn the C# way.¿did I spot you?

~theraot

Reply via email to