我通常在C程序,但对于学校我必须在C#中做一个项目.
所以我继续前进编码像我习惯于C,但是当编译器抱怨代码如下所示感到惊讶:
const uint size = 10; ArrayList myarray = new ArrayList(size); //Arg 1: cannot convert from 'uint' to 'int
好的,他们期望int作为参数类型,但为什么?我会以uint作为参数类型感觉更舒服,因为在这种情况下,uint适合更好.
为什么在.NET库中使用int作为参数类型,即使在许多情况下,负数也没有任何意义(因为没有容器或gui元素可以有负的大小).
解决方法
我可以想象,微软选择了Int32,因为UInt32不符合CLS(换句话说,并不是所有使用.NET框架的语言都支持无符号整数).