我可以构造一个长列表<int>,使索引很长?</int>

时间:2011-10-27 17:23:05

标签: c#

目前List<int>可以采用的索引是Int32,我可以使用Int64吗?

所以我可以使用像mylist [1000000000000]这样的东西。

3 个答案:

答案 0 :(得分:13)

不,你不能。

如果允许,这将没有用。 CLR对象的最大大小限制为2GB。因此,甚至不可能构造一个long索引有用的数组。

答案 1 :(得分:0)

您无法更改框架列表&lt;&gt; interface,指定索引参数的类型为int。但是你可以创建一个带有long索引的自己的类型。

正如JaredPar所说,你不能创建一个足够大的数组来要求64位索引。如果要创建可以存储这么多项的列表,则必须使用某种树结构或数组数组等。你需要大量的记忆!

答案 2 :(得分:-6)

您可以拥有包含长值或大于2,147,483,647的数字的列表。

List<long> list = new List<long>();

list.Add(3000000000) will work.