首页 / 知识
关于c#:为什么Array.Length是int而不是uint
2023-04-11 22:06:00

Why is Array.Length an int, and not an uint本问题已经有最佳答案,请猛点这里访问。
为什么
这也迫使我在我自己的班级上使用int作为长度属性,因为当您
因此,最终的问题是:unsigned int(
Unsigned int不符合CLS,因此会将属性的使用限制为那些确实实现了 看这里: 框架1.1
框架2.0
很多原因:
似乎没有人提供对"最终问题"的答案。 我相信无符号整数的主要用途是使与外部系统(P / Invoke等)的接口更容易,并满足移植到.NET的各种语言的需求。 我认为这也可能与简化底层操作有关,因为如果Array.Length是无符号的,则Array.Length当然会在某个时候添加到负数,并添加到负int(二进制补码) ,结果可能会混乱。 通常,整数值是带符号的,除非您明确需要一个无符号的值。这只是它们的使用方式。我可能不同意这种选择,但这就是事实。 目前,在当今典型的内存限制下,如果您的数组或类似数据结构需要UInt32长度,则应考虑其他数据结构。 使用字节数组,Int32将为您提供2GB的值 |
最新内容
相关内容
python如何查看对象属性
python如何查看对象属性,培训,网络,系统,函数,对象,属性,变量,示例,实例,模块,在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要python如何判断对象是否有某个属性
python如何判断对象是否有某个属性,培训,名称,异常,对象,属性,特性,参数,方法,函数,定义,python如何判断某一对象是否有某一属性,可以使用hasapython模块的name属性
python模块的name属性,培训,模块,属性,程序,空格,底下,实例,中间,以上,更多,python模块的name属性一个模块被另一个程序第一次引入时,其主程序python如何转换为私有属性
python如何转换为私有属性,名称,培训,属性,方法,之前,跳高,实例,表示,以上,规则,python如何转换为私有属性1、在属性或方法名称之前增加一个python三种属性管理魔法函数
python三种属性管理魔法函数,管理,培训,属性,函数,方法,魔法,对象,实例,以上,存在,python三种属性管理魔法函数说明1、_setattr_设定未知的属python伪私有属性的理解
python伪私有属性的理解,名称,对外,培训,属性,定义,类别,实例,冲突,前面,后面,python伪私有属性的理解1、说明(1)确保定义类别中的属性(类别python__setattr__的属性设置
python__setattr__的属性设置,数据,管理,培训,属性,方法,实例,字典,函数,是非,下面,python中__setattr__的属性设置1、说明定义类对象管理属关于sql Server:将文件存储在数据库
关于sql Server:将文件存储在数据库中而不是文件系统中?,关于sql Server:将文件存储在数据库中而不是文件系统中?,性能,文件系统,文件存关于asp.net:如何定义带有潜在子元
关于asp.net:如何定义带有潜在子元素和属性的自定义web.config部分?,关于asp.net:如何定义带有潜在子元素和属性的自定义web.config部使用’in’匹配数组中Py
使用in匹配数组中Python对象的属性,使用in匹配数组中Python对象的属性,操作,执行,函数,记得,Using 'in' to match an attribute ofHTML5新元素属性最新详解
HTML5新元素属性最新详解,HTML5,新元素,新,元素,属性,最新,详解,canvas,, canvas 新元素 canvas标签定义图形,比如图表和其他jqXHR对象将公开的属性和方法
jqXHR对象将公开的属性和方法,jqXHR,对,象将,公开,的,属性,和,方法,从,jQuery,, 从 jQuery 1.5 开始,$.ajax()返回的jqXHR对象 实