为什么Array.Copy支持长参数

Bri*_*ian 8 c# arrays

来自MSDN:

参数sourceArray

包含要复制的数据的Array.destinationArray

接收数据的Array.长度

一个64位整数,表示要复制的元素数.整数必须介于0和Int32.MaxValue之间(包括0和Int32.MaxValue)

鉴于值的允许范围是0Int32.MaxValue,什么是添加此签名的动机是什么?它在.Net 1.0中不存在,只在.Net 1.1中添加.我唯一的猜测是准备64位框架实现.

Mar*_*ers 3

奇怪的是,数组还具有GetItem的重载,它采用 Int32 和 Int64。但实际上,在 .NET 框架的当前实现中,您不能拥有大于 2 GB 的单个对象,因此您实际上无法创建允许如此大索引的数组。

我想如果以后取消这个限制,那就意味着他们不需要改变界面。