【发布时间】:2014-11-06 14:25:51
【问题描述】:
我有两个数组,我在其中比较值并将索引存储到列表中。 现在我想遍历另一个数组,获取索引位置的元素并将它们简单地复制到一个新数组中,但我得到了一个 overFlowException。怎么办?
for (int i = 0; i < _date.Length; i++)
{
for (int j = 0; j < _date1.Length; j++)
{
if (_date[i] == _date1[j])
{
same_date = j;
s_date.Add(same_date);
overlap = s_date.ToArray();
}
}
for (int k = 0; k < overlap.Length; k++)
{
_store[k] = _data[Convert.ToInt32(overlap[k])];
}
【问题讨论】:
-
我们在这里讨论了多少个元素?您对 Int32 的强制转换可能会溢出。
-
你在哪一行得到这个异常?
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
当我忽略它时,他告诉我他不能将 double 转换为 int。那是大约 10 个元素,但可能会有所不同。我获取重叠值的索引的数组大约有 900。我获取大约 10 个索引并希望从另一个数组(具有相同的长度 - 大约 900)复制这些索引处的值 - 他在最后一个“for " 循环
-
为什么要在
if语句中分配overlap?我想你会在循环之外做这些?