質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

10401閲覧

c#のListの要素数の限界突破

sinonome

総合スコア8

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/08/29 02:41

非常にたくさんのデータを扱うことになりlistを使っていたらIndexOutOfRangeException が出てきてしまいました。
原因はc#のlistの最大要素数がint.maxvalueより小さいからとのことです。
listの要素数をint.maxvalueより大きくするにはどうすればいいでしょか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/08/29 06:33 編集

具体的にどのようなデータでどのようなコードで発生したのでしょうか。要件次第では実装を変えることで実現できなくもないとは思いますが、その要件がうっすらとすら書かれてないので単純にタイトルだけに応えることになります。
guest

回答1

0

ベストアンサー

C#標準のList<T>を使う限りこの制限はついて回ります。

「~~IList<T>を実装して、~~要素数が32ビットに制限されないリスト」の実装を自分で作るか、すでに作られているものを探してください。

LargeListとかBigListとか、そんな感じの名前でいくつか見つかります。
GitHub - dlebansais/LargeList: LargeList is an implementation of Collection<> and List<> that can hold a number of elements limited only by the available memory, tested up to 8 billions.

投稿2020/08/29 04:29

編集2020/08/29 04:49
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/08/29 04:45 編集

IList<T> および ICollection<T> はインデクスを int に限定しています。それらは(必要なら)明示的に実装し、IEnumerable<T> もしくはそこから派生した独自インターフェースを暗黙的に実装する方が良いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問