問題タブ [indexoutofrangeexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
880 参照

c# - .ToList() 呼び出し時の IndexOutOfRange 例外

というエンティティのリストを取得しました。そこから、次のようusagesにタイプ のエンティティの IEnumerable を作成します。AdminUsage

var models = usages.Select(u => new AdminUsage(u));

呼び出す.ToList()models、「インデックスが配列の範囲外でした」というメッセージとともに IndexOutOfRange 例外が発生します。

なぜこれが起こっているのでしょうか?AdminUsage元のリストからList of type を正常に取得するにはどうすればよいusagesですか?

編集:OK、実際には範囲外のインデックスはAdminUsageコンストラクター内にありました:

public AdminUsageModel(Usage usageDetails) { Title = usageDetails.UsageName[0] }

だから私の修正された質問は、なぜ例外が呼び出し.ToList()でのみスローされ、元のものではスローされないの.Select()ですか?

0 投票する
1 に答える
691 参照

python - IndexError: リスト インデックスが範囲外です

チュートリアルを途中でつまずきながら、繰り返し問題が発生しました (繰り返しと言っているのは、その日をあきらめた後、自然に解決したように見え、後で再び表示されるようになったためです。それを実現するためにやりました)エラーで:

以下の関連コード:

文字ごとに書いたコードと、チュートリアルで書いたサンプルコードを比較していたところに行き着きましたが、うまくいきませんでした。プログラムで「マップ」を使用するのはこれが初めてで、python のリストに関してはかなり迷っています。

最後に、同じ精神で他の質問を調べましたが、知識が限られているため、それらを自分の状況に適用することはできませんでした.

0 投票する
1 に答える
182 参照

c# - IndexOutOfRangeException - PInvoke を使用してコール スタックを表示できない

SerialPort からデータを取得する C# アプリを開発しています。次に、C++ プロジェクト (変更できない) を使用して読み取りデータを計算します。

C++ プロジェクトでは、データの計算時に C# 関数を呼び出すネイティブ C コードを使用しています。

これは、PInvoke を使用して C++ 関数を呼び出す呼び出された C# コードの例です。

次に、C++ コード:

この C 関数は、次のように設定した C# 関数を呼び出しています。

最後に、C コードは、この C# コールバックである「addSampleToBattery」関数を呼び出します (最初の 2 つは、私が投稿した最初のもののような PInvoke 呼び出しです)。

その他の詳細:

C# デリゲートは次のように宣言されます。

そして、次のように設定します:

したがって、すべてが機能しているように見えますが、多くの場合、IndexOutOfRangeException が発生します。主な問題は、すべてのシンボルが読み込まれたデバッグ モードでも、逆アセンブリ ビューしか利用できないため、例外をスローしている行が見えず、もちろんそこから意味のある情報を取得できないことです。

ありがとう!

0 投票する
2 に答える
1675 参照

c# - 範囲外の SQL インデックスの例外

以下に示す SQL クエリを実行しようとすると、IndexOutOfRangeException が発生します。理由がわかりません。他の SO ページでは、存在しないフィールドからデータを取得しようとしたことが原因である可能性があると書かれていますが、存在することは確かであり、要求されたフィールドの両方を「 ADRES" と "TAAL" から "LEV" へのリクエストは、上の 2 つだけが拒否されますが、"LEV" の一番上のリクエストは機能していました。「ADRES」は 8 桁の varchar フィールドで、「TAAL」は 1 桁の varchar フィールドです。

編集:以下に示すようにクエリを分割すると機能するようですが、その理由が本当にわかりません。

0 投票する
1 に答える
301 参照

c# - マージ ソート テキスト ファイル リーダーでのインデックス範囲外の例外

マージソートを使用してテキストファイルをソートしようとしています。ただし、実行しようとすると、インデックスが範囲外の例外を取得し続けます。例外が発生する領域を指定します。

上記の部分は問題ありませんが、以下に 1 つの例外があります。

次の数行は問題ありません。

次の数行も例外です。

私が見た限り、残りは問題ありませんが、皆さんが見ることができるように追加します.

読み込もうとしているテキスト ファイルには 500 個の数字があり、最大の数字は 999、最小の数字は 6 です。数字はかなりランダムなので、並べ替える必要があります。PS範囲外例外とは何かを知っており、その原因を知っているため、コードが例外をスローする理由を尋ねている理由です。

0 投票する
0 に答える
188 参照

c# - 項目を含むプレースホルダー コントロールが範囲外のインデックスを取得する

ページの読み込み時にテーブルが動的に追加されるプレースホルダーがあります (すべてが正常に読み込まれ、デバッグ時に問題なく control[0] が表示されます。ボタンをクリックしてフォームをリセットすると、control[0] でそのテーブルにアクセスしようとします。 ] そして「範囲外のインデックス」を取得します私はかなり調査しましたが、なぜそれが起こっているのかわかりません。

ページが読み込まれるときのコードは次のとおりです。

ボタンがクリックされると、このコードが起動します。

そしてHTML:

私はまだプログラミングにかなり慣れていないので、私が見逃していることが明らかなものではないことを願っています. どんな助けでも大歓迎です!

0 投票する
3 に答える
87 参照

c# - クエリを複数のクエリに分割しない限り、IndexOutOfRange

C# プログラム用の SQL クエリを作成しましたが、クエリを実行しようとすると、このエラーが発生します。

System.IndexOutOfRangeException:

クエリの順序を変更して、それが唯一のものであるかどうかを確認しようとしましたが、これらの 3 つの列 ( 、、 )while (DRorder.Read())のうち少なくとも 2 つを変換しようとするコードが にある場合にのみ、そのエラーが発生することに気付きました。ADRESLEVTAAL

ただし、クエリを3つのほぼ同一のクエリに分割すると、エラーが発生する可能性のある3つの列のそれぞれが問題なく動作します。

プログラム内の他のすべてのクエリが機能するため、なぜこれが行われるのかわかりません。テーブル全体を読み取るクエリもあり、それらのフィールドがwhileループに含まれていても問題はありません。

ここで私の質問は、これらのコード ブロックの 1 つが機能し、もう 1 つがエラーを出すのはなぜですか? そして、おそらくこれに対する解決策を知っている場合は、それを聞きたいと思います。すべてを1つのクエリにまとめた方がよいと思うからです。

Disposeこれらのコード ブロックにクエリを入れるのを忘れていたことはわかっています。

問題に関する追加情報: 単一のクエリ コードを実行すると、エラーが発生する列は次のとおりですが、列の順序を変更すると、これら 3 つ ( 、、 )LEVのうち 2 番目の列で問題が発生します。ADRESLEVTAAL

編集:「新しい」コード (DB には 28 列あります)