【问题标题】:VB delete last element in dynamic arrayVB删除动态数组中的最后一个元素
【发布时间】:2011-05-17 14:23:28
【问题描述】:

当我不知道数组有多大时,我需要一种方法来删除数组中的最后一个元素。

基本上我需要 php array_pop 的 VB 版本,但似乎没有任何相关内容出现 搜索结果。

【问题讨论】:

  • 为什么不使用List(Of Type),它更现代且更易于操作(LINQ 等...)?

标签: arrays vb.net


【解决方案1】:

使用

Redim Preserve MyArray (UBound(MyArray) - 1)

【讨论】:

  • 我认为这就是解决方案……是的
  • @YsoL8 对于 VB6 不是这样。下限将丢失,您将收到运行时错误。请重新标记您的问题以澄清 VB 版本。
  • @GSerg:你确定吗?我正在使用此代码在 vb6 中完全更改数组长度,并且从未遇到过数组下限不同于 0 的情况
  • @GSerg vb.net。至少在课程文档中是这样的:)
  • 是的,我是。试试:Dim arr() As Long : ReDim arr(1 To 10) : ReDim Preserve arr(UBound(arr) - 1)。运行时错误 9:下标超出范围。当然,如果下限是0 就可以了。但在 VB6 中,通常不是这样。这是一件很棒的事情。
【解决方案2】:

VB6:

redim preserve arr(lbound(arr) to ubound(arr) - 1)

VB.NET:

redim preserve arr(arr.GetUpperBound(0) - 1)

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2014-12-09
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多