首页 > 解决方案 > 尝试理解和翻译一小段VB代码

问题描述

我正在将一些 VB 代码转换为另一种语言,但我不明白这里应该发生什么。

Dim foo(7,0) as Date

然后稍后在代码中我得到类似的东西foo(5,3),我相信输出是一个 Date 对象。没有编写函数来描述foo,所以我假设它是一个多维数组。但是作为日期投射?我很困惑,请帮助。

标签: vb.net

解决方案


我也不知道他们发生了什么,因为:

Dim foo(7,0) as Date

声明一个二维数组,它实际上是一个一维数组,因为第二维的上限为 0...

...然后您声称第二个维度稍后以 3 为索引,这超出了界限。foo(5, 0)很好,但是第六行(如果你想这样想 5)有 1 列,所以检索第四行是 IndexOutOfRangeException。大概这是ReDim从那时到现在的某个时间点

要让调试器帮助您,请运行代码,停在上面并指向foo或查看 LOCALS 窗口:

在此处输入图像描述

以红色为界的是变量分析器作为工具提示和局部变量。它显示 Date 是一个二维数组。它还有助于列出所有内容。如果您尝试访问在索引 0 处停止的数组的索引 3,则蓝色边界是您得到的错误

使该二维数组实际上具有可观的宽度:

在此处输入图像描述

你可以看到它只是一个日期块


推荐阅读