问题标签 [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 回答
223 浏览

.net - ArgumentOutOfRangeException 和 IndexOutOfRangeException 的性能

我在我的库中添加了一个新类,它将成为公共文档 API 的一部分。底层数据结构是一个原生数组,尽管List<T>在第一次生成原生数组时使用。

MSDN 表示List<T>throwsArgumentOutOfRangeException而不是IndexOutOfRangeException(在访问本机数组时可以抛出)。

因此,我计划更新我的函数以始终ArgumentOutOfRangeException在我记录的 API 中保持一致性,如下所示:

我的问题是这样的:

上述源代码是否会产生两个范围检查(我的一个 + 本机数组一个),或者 .NET 编译器是否足够聪明,可以删除这些IndexOutOfRangeException检查?

0 投票
4 回答
77 浏览

c# - c#中的以下数组声明有什么区别?

我正在我的 WinForm 应用程序中构建一个菜单,我正在做类似的事情:

之后 :

并抛出 IndeOutOfRangeException :

在此处输入图像描述

在这个烦人的异常之后,我修改了数组声明:

一切都像魅力一样。

现在的问题是:有没有人知道为什么上面的数组声明有效,而另一个不知道? 非常感谢

0 投票
2 回答
80 浏览

c# - 多维字符数组上的 IndexOutOfRangeException

代码循环遍历数组并将每个索引初始化为“*”。但是,我正在接受IndexOutOfRangeExceptionCave[i,j]希望得到一些指导。

  • 为澄清起见GridHeightGridWidth声明如下

    public const int GridHeight = 5;

    public const int GridWidth = 7;

0 投票
1 回答
115 浏览

c# - 由于 if 条件而发生 IndexOutOfRangeException

IndexOutOfRangeException刚刚在我正在构建的一个小项目中触发,但为什么呢?

这是布尔条件:

我试图做的是检查这两个对象是否已初始化,但正如您已经想到的那样,这一切都是突然发生的。

0 投票
1 回答
384 浏览

c# - 如何检查特定索引中有一行以避免IndexOutOfRangeException

我想知道如何检查特定索引中有一行以避免以下异常:

System.IndexOutOfRangeException

例如 :

如果dtNew有刚刚a one rowi = 3

0 投票
0 回答
1610 浏览

c# - 将数据从选定的数据网格视图传递到另一个数据网格视图

您好我正在尝试将选定的 datagridview 行添加到另一个 datagridview。

我正在使用 man 对象类。这是我的课。

我有两个列表。

这是行点击事件的完整代码。

当我单击时,有时会收到此错误消息。

DataGridView 中出现以下异常。

System.indexOutOfRangeException:Index 0 在 System.Windows.Forms.CurrencyManager.get_Item(Int32index) 处没有值 System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32rowIndex) 要替换此默认对话框,请处理数据错误事件.

并且单元格被一一清空,并且一直弹出错误消息。谁能告诉我如何纠正它?

0 投票
1 回答
780 浏览

c# - c# openFileDialog IndexOutofRange 错误

我在让 openFileDialog 显示时遇到问题。

这是我目前的情况:

我有一个包含多个表单的 WinForms 程序,但它们都在同一个线程中运行。目前,我有两个表单,每个表单都有一个 saveFileDialog 和 openFileDialog。

对于第一种形式,即在启动时打开的形式,saveFileDialog 和 openFileDialog 都可以正常工作,但对于第二种形式,openFileDialog 甚至拒绝打开。

这是我现在得到的堆栈跟踪:

'System.IndexOutOfRangeException' 类型的第一次机会异常发生在 System.Windows.Forms.dll 中的 System.Windows.Forms.OpenFileDialog.OpenFile()

这是发生问题的代码:

如果用户单击确定,这将被触发:

  • 我最初直接从工具箱中使用 openFileDialog ,其属性已更改,然后尝试尝试另一种方式,如您现在所见,在它给我问题之后。

  • 它在某个时候给我的另一个错误是关于找不到文件,好像 openfiledialog 甚至在显示之前就试图打开一个不存在的文件。

  • 我还在其他形式中使用了相当多的 p/Invokes,以及上面代码所在的形式中的一些。尽管它们处理位图和屏幕。

  • 我希望这不是关于我遇到的问题的太多信息。如果还不够,请告诉我您还希望我提供什么。

  • 我知道这个问题可能看起来与这个问题(C# OpenFileDialog 中的 Stackoverflow/CLR 错误)相似,但是这个问题还没有被接受的答案。但与他的问题不同,虽然我确实有 2 个 saveFileDialogs 和 1 个其他 openFileDialogs,但它们根本没有失败。

0 投票
1 回答
1305 浏览

python - python,循环嵌套,函数,if 语句

这是一段有点乱码的代码摘录。

上下文是它试图遍历一个列表,构建,它应该看起来像 [100, 92, 87, etc]。它希望遍历建筑物的每一层,然后将该人(通过减少当前楼层)移动到下一个可用楼梯。

我的问题是函数内的嵌套列表和 if 语句。这是一个三重打击,我无法理解正确的语法:

  • 调用列表列表的特定部分 - 即 list[i][j]

  • 在循环中使用 if 语句

  • 嵌套循环

  • 在其他循环中使用循环变量

这是我的代码:


编辑:

我弄清楚了这个问题。Building 的输入是一个列表。Staircasenetwork 也是一个列表。列表看起来像这样

这代表了一座 3 层楼的建筑,里面挤满了人和两个空楼梯。

我做错的是我试图写一些类似的东西:

应该采取 (i) 在建筑中(我预计是 [0, 1, 2])和 (j) 在楼梯网络中(我预计是 [0, 1])并使用这两个坐标遍历我写的列表。

我忘记的是python通过直接将这些值分配给(i)来遍历列表。

所以,如果我有一个清单:

我写道:

它将打印:

不是:

所以解决我的问题是使用 range(len(building) 而不是 building.

该语句需要构建,并首先使用 len() 将其转换为等于构建列表长度的整数。然后它获取该整数并使用 range() 将其转换为从 0 到 X 的数字列表。

本质上: [100, 90, 101] >> 3 >> [0, 1, 2]

将打印:

所以在我的第一次尝试中,当我使用:

它做的第一件事是查看建筑物列表中的第一个值,即 100。然后它使用该数字查找建筑物列表中的第 100 个数字,该数字不存在,因为该列表只有 3 个值长。

它试图这样做:

有多种使用语句的方法,例如:

要创建可能如下所示的元组列表:

但我更喜欢使用 range(len(building)) 方法。这种方法可能无法达到很好的速度基准,但它成功地教会了我一些关于代码如何工作的知识,并且解决了我的小问题。

固定代码将显示为:

现在 (i) 和 (j) 将是 (via range(len())) 的坐标,而不是变量的直接反映。

Lego Stormtrooper 还对我的代码的其他问题做出了很好的回应。

0 投票
1 回答
589 浏览

c# - c# 索引超出范围。/ 写入 CSV 文件

嗨 只是一个问题...

数据看起来像:(标题有 2 行。)

我想添加一个新的列名示例“fileName”,值为“fileName”......只是为了方便。

  1. 我在以下位置收到相同的错误:lines[index] += "," + newColumnData[index - 1]; 但是通过调试器/消息框检查时,索引的值永远不会 <0。

  2. 如何在第一个位置而不是最后一列添加新列?

0 投票
3 回答
4234 浏览

python - 尝试使用 python 从文本文件中输出行时出现“列表索引超出范围”

我试图从文本文件中提取偶数行并输出到新文件。但是用我的代码 python 警告我“列表索引超出范围”。任何人都可以帮助我吗?谢谢~

代码:

输出: