I believe that this is primarily because unsighed types are not CLS
compliant, so there is no guarantee that a particular language will support
them (it is entirely optional, and a language can still call itself .NET
compatible without them) - and so these fundamental types would be unusable.
C# does support unsigned types, byt others (VB.NET? Can't remember 100%) do
not.
For this reason, you should usually try to avoid putting non-CLS-compliant
types into your public interface; if you put a CLSCompliant attribute (true)
against your assembly, the IDE will then provide a warning whenever you do
this, unless you put in a second attribute (false) against the relevant
method (or whatever) - this makes is very easy to track what is/isn't
CLS-compliant.
Marc
"Marco Segurini" <ma***********@virgilio.it> wrote in message
news:uQ***************@TK2MSFTNGP14.phx.gbl...
Hi,
I am wondering why the size of { array, array-list, ... } is a signed type
instead of an unsigned type.
TIA.
Marco.