为什么Array.Copy支持长参数

时间:2010-09-21 21:42:01

标签: c# arrays

来自MSDN

  

参数sourceArray

     

包含数据的数组   复制。 destinationArray

     

接收数据的Array。   长度

     

表示的64位整数   要复制的元素数量。该   整数必须介于0和0之间   Int32.MaxValue,包括

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

1 个答案:

答案 0 :(得分:3)

奇怪的是,数组也有GetItem的重载,它带有Int32和Int64。但实际上,在.NET框架的当前实现中,您不能拥有大于2千兆字节的单个对象,因此您无法实际创建允许此类大型索引的数组。

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