为什么是Array.Lengthint,而不是uint.这让我感到困扰(只是一点点),因为长度值永远不会是负数.
这也迫使我在我自己的类上使用int作为length-property,因为当你指定一个int值时,这需要显式地转换...
所以最终的问题是:对于unsigned int(uint)有什么用?甚至微软似乎也没有使用它们.
即使在框架类中,我总是遇到int用于.Count等等的代码而不是代码uint.
这是什么原因?
今天我注意到C#的String类返回一个字符串的长度作为Int.由于Int总是32位,无论架构如何,这是否意味着字符串的长度只能是2GB或更小?
一个2GB的字符串将是非常不寻常的,并提出许多问题.但是,大多数.NET api似乎都使用'int'来传达长度和计数等值.这是否意味着我们永远受限于适合32位的集合大小?
似乎是.NET API的一个基本问题.我希望通过相当于'size_t'的方式返回count和length之类的东西.