BitArray的长度为什么用int而不使用uint,这样设计的理由是什么?
uint类型不符合CLS。请尽可能使用int。
CLS 表示的含义,就是Common Language Specification 公共语言规范。
自定义类也要符合CLS?
@X_Stars:
公共语言规范 (Common Language Specification, CLS)
公共语言运行库支持的语言功能的子集,包括几种面向对象的编程语言的通用功能。
符合 CLS 的组件和工具能够保证与其他符合 CLS 的组件和工具交互操作。
你想和其他的交互吗
所有的列表,数组长度都是用的int,估计是为了省事吧,毕竟可以少打一个字母。
BitArray是用int数组实现的,用uint也能满足int数组的长度是int
https://docs.microsoft.com/en-us/dotnet/api/system.collections.bitarray
从msdn 上看,bitarray 实现接口 ICollection,其实中ICollection.count 就是int的,要是用uint 超出一定值就出错了。
这都不是重点。
重点是int 表达值可以达到2G。对于这个数来说,一般程序已经足够了。毕竟这只是一个基本类型。
int最大2^31-1,而bitarray长度是指有多少位,所以最大也只有256M,离2G还差得远
@X_Stars: 我说的是2^31-1个状态。并非占用的内存。