1
If My.Settings.Sup1 Is Nothing Then
        My.Settings.Sup1 = New Collections.ArrayList
        My.Settings.Sup1.Add(0)' array index can't be negative or less than 0
        My.Settings.Sup1.Add(0)
        My.Settings.Sup1.Add(0)
        My.Settings.Sup1.Add(0)
    End If

为什么我什至会在注释行中得到这个异常,上面的代码有什么问题吗

我尝试插入并为当前索引分配一个值,但我仍然收到异常

4

2 回答 2

1

我在项目属性 → 类型的设置选项卡上添加了一个用户设置System.Collections.ArrayList,它按预期工作。不确定你的问题是什么你的代码看起来不错,我会仔细检查你的Type并确保它是正确的。

在此处输入图像描述


在此处输入图像描述

于 2012-08-21T02:49:08.223 回答
0

在 WPF 项目中运行它。我无法弄清楚你是如何在我的应用程序设置下获得一个数组列表的,所以我使用了 System.Collection.Specialized.StringCollection。[鼠标右键]“我的项目”,转到设置,并在那里添加 Sup1 作为 System.Collection.Specialized.StringCollection。将值留空。

在调试器中,它可以很好地遍历下面的所有行,没有例外。

    Public Sub New()
    'assuming sup1 is supposed to be an System.Collection.Specialized.StringCollection as set in Project Properties
            If My.Settings.Sup1 Is Nothing Then
                ' -- replaced w string collection -- My.Settings.Sup1 = New Collections.ArrayList
                My.Settings.Sup1 = New System.Collections.Specialized.StringCollection
                My.Settings.Sup1.Add(0) ' array index can't be negative or less than 0
                My.Settings.Sup1.Add(0)
                My.Settings.Sup1.Add(0)
                My.Settings.Sup1.Add(0)
            End If
    End Sub
于 2012-08-21T02:16:37.070 回答