加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么C#容器和GUI类对于大小相关的成员使用int而不是uint?

发布时间:2020-12-15 06:51:56 所属栏目:百科 来源:网络整理
导读:我通常在C程序,但对于学校我必须在C#中做一个项目. 所以我继续前进编码像我习惯于C,但是当编译器抱怨代码如下所示感到惊讶: const uint size = 10; ArrayList myarray = new ArrayList(size); //Arg 1: cannot convert from 'uint' to 'int 好的,他们期望in
我通常在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元素可以有负的大小).

如果他们使用int的原因是他们没有预期平均用户关心签名,为什么不添加额外的负载超负荷?

这只是MS不关心符号正确性,还是有负数值有意义/携带某些信息(错误代码????)容器/ gui小部件/尺寸?

解决方法

我可以想象,微软选择了Int32,因为UInt32不符合CLS(换句话说,并不是所有使用.NET框架的语言都支持无符号整数).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读