2011-10-27 3 views

答えて

13

できません。

これが許可されていれば、これは役に立たないでしょう。 CLRには、オブジェクトの最大サイズが2GBに制限されています。したがって、longインデックスが役に立つ配列を構築することさえできません。

+0

私はMonoが配列インデックスに64ビットのintを使うと信じています。 List <>の実装が異なるのかどうかは分かりません。 –

+1

リストは、アイテムを格納する別の戦略を使用できます。たとえば、何らかの種類のツリー構造を使用できます。 – phoog

0

フレームワークリスト<>インターフェイスを変更することはできません。これは、インデックス引数のタイプをintと指定します。しかし、あなたはlongインデックスを取る独自のタイプを作成することができます。

JaredParが指摘したように、64ビットインデックスが必要な大きさの配列は作成できません。非常に多くのアイテムを格納できるリストを作成したい場合は、何らかの種類のツリー構造や配列の配列などを使用する必要があります。そして、あなたはたくさんの記憶が必要です!

-4

長い値を保持するList、または2,147,483,647より大きい数値を持つListを持つことができます。

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

list.Add(3000000000) will work.