【问题标题】:Maximum Number of arraylist is only 99999999arraylist 的最大数量只有 99999999
【发布时间】:2014-03-01 14:13:55
【问题描述】:
Dim totalAllArr(99999999) As Integer
Public Sub SynchNow()
    ListOfBooksTableAdapter.Fill(OJT_Project_LSDataSet.ListOfBooks)
    For i = 0 To all - 1
        totalAllArr(i) = OJT_Project_LSDataSet.Tables("ListOfBooks").Rows(i).Item("numberofcopy")
        totalAll = totalAll + totalAllArr(i)
    Next
End Sub

我使用此代码计算存储在 ListOfBooks 表中的所有书籍的总和

'这个有效

Dim totalAllArr(99999999) As Integer

'这个不行

将 totalAllArr() 调为整数

所以数组的最大边界只能存储 99999999 个值 如果书籍数量超过,肯定会抛出异常

可以使用任何其他数组结构吗?请!

【问题讨论】:

  • 为什么需要数组?您可以在根本没有数组的情况下找到总和。另请注意,数组与 ArrayList 不同。
  • 我必须这样做,因为字段名 numberofcopy 有它的每个值,所以我必须先将它存储在数组中
  • 我根本不关注你。如果您只使用totalAll = totalAll + OJT_Project_LSDataSet.Tables("ListOfBooks").Rows(i).Item("numberofcopy"),您认为会出现什么问题?
  • 谢谢!我要试试看。
  • 嘿等等,问题出在数组中。计算正在运行。

标签: arrays vb.net vba indexoutofboundsexception


【解决方案1】:

您可以改用ArrayList 或通用List

System.Collections.ArrayList Lst1 = new System.Collections.ArrayList();

System.Collections.Generic.List<int> Lst2 = new System.Collections.Generic.List<int>();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-27
    • 2017-10-19
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多