在vb.net中,如何快速判断数组是否为空?

2026-05-06 11:241阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计430个文字,预计阅读时间需要2分钟。

在vb.net中,如何快速判断数组是否为空?

在VB.NET中,检查数组是否为空的快速方法是使用数组的Length属性。以下是一个简化的代码示例,不超过100个字符:

vbIf array.Length=0 Then ' 数组为空End If

我想知道在vb.net中检查数组是否为空的最快方法.该数组已经初始化,所以我不能使用任何查看它的检查.这是以下的当前代码:

If Not (cubes(threadnumber)(i).objects.GetLength(0) = 0) Then cubes(threadnumber)(i).objects = New Double() {} ReDim cubes(threadnumber)(i).objects(-1) End If

我已经做了一些测试,我知道使用’.getupperbound’要快一点,但我不确定这是否可行,因为我认为’.getupperbound’如果数组长度为1则返回0.

任何/所有加快速度的方法(甚至是分数)都将非常有用.这个程序需要很长时间才能完成,上面代码的第一行是很大一部分时间,它被称为1.36亿次.

此外,如果有人知道如何加速“下一个”循环,这也是伟大的!

谢谢 :)

弗雷泽

长度比我系统上的GetLength快约2倍(调用长度136M次需要0.650秒,而调用GetLength(0)需要1.480秒).

我也不明白为什么你ReDim你的阵列,你已经创建了一个新的.

在vb.net中,如何快速判断数组是否为空?

我相信如果立方体是一个多维数组,这将是最快的代码:

If cubes(threadnumber)(i).objects.Length > 0 Then cubes(threadnumber)(i).objects = New Double() {} End If

如果cube不是多维数组(例如List),则应该将多维数据集(threadnumber)代码从循环中取出.

更新

在没有调试器的Release模式下运行时,Length比GetLength快6倍,在这种情况下,Length在我的系统上占用0.181s和GetLength 1.175s.这可能是因为JIT将内联对Length的调用,而不是对GetLength的调用.

This是我使用的测试代码.

本文共计430个文字,预计阅读时间需要2分钟。

在vb.net中,如何快速判断数组是否为空?

在VB.NET中,检查数组是否为空的快速方法是使用数组的Length属性。以下是一个简化的代码示例,不超过100个字符:

vbIf array.Length=0 Then ' 数组为空End If

我想知道在vb.net中检查数组是否为空的最快方法.该数组已经初始化,所以我不能使用任何查看它的检查.这是以下的当前代码:

If Not (cubes(threadnumber)(i).objects.GetLength(0) = 0) Then cubes(threadnumber)(i).objects = New Double() {} ReDim cubes(threadnumber)(i).objects(-1) End If

我已经做了一些测试,我知道使用’.getupperbound’要快一点,但我不确定这是否可行,因为我认为’.getupperbound’如果数组长度为1则返回0.

任何/所有加快速度的方法(甚至是分数)都将非常有用.这个程序需要很长时间才能完成,上面代码的第一行是很大一部分时间,它被称为1.36亿次.

此外,如果有人知道如何加速“下一个”循环,这也是伟大的!

谢谢 :)

弗雷泽

长度比我系统上的GetLength快约2倍(调用长度136M次需要0.650秒,而调用GetLength(0)需要1.480秒).

我也不明白为什么你ReDim你的阵列,你已经创建了一个新的.

在vb.net中,如何快速判断数组是否为空?

我相信如果立方体是一个多维数组,这将是最快的代码:

If cubes(threadnumber)(i).objects.Length > 0 Then cubes(threadnumber)(i).objects = New Double() {} End If

如果cube不是多维数组(例如List),则应该将多维数据集(threadnumber)代码从循环中取出.

更新

在没有调试器的Release模式下运行时,Length比GetLength快6倍,在这种情况下,Length在我的系统上占用0.181s和GetLength 1.175s.这可能是因为JIT将内联对Length的调用,而不是对GetLength的调用.

This是我使用的测试代码.