1

私が構造を持っているとしましょう

Structure Test
    Public Names as List(Of Strings)
End Structure

エラーが表示される

A first chance exception of type 'System.NullReferenceException' occurred

そのため、コードに足を踏み入れたところ、名前に文字列を追加するたびにエラーが発生しました

例:

Dim a as new Test
Dim b = 1
While b < 2
    if b = 1 then
        a.add("Cheese")
    End If
    b += 1
End While

エラーがスローされますa.add("Cheese")

何か案は?

4

3 に答える 3

2

メソッドListを呼び出す前にnew が必要です。.Addまた、List メンバーではなく、新しい構造体で add メソッドを呼び出しています。

Dim a as new Test
a.Names = New List(Of String)
Dim b = 1
While b < 2
    if b = 1 then
        a.Names.Add("Cheese")
    End If
    b += 1
End While
于 2013-09-20T19:37:45.220 に答える
1
Structure Test
    Public Sub New()
       Me.Names = New List(Of String)
    End Sub 
    Public Names as List(Of Strings) 
End Structure

リストへの項目の追加を開始できる構造を新規作成するときに、必要な動作が必要な場合は、コンストラクター内で名前リストを初期化できます。

http://msdn.microsoft.com/en-us/library/2hkbth2a(v=vs.80).aspx/css

于 2013-09-20T21:39:04.420 に答える
1
Public Names As New List(Of String)

または

Public Names As List(Of String)
..
Names = New List(Of String)

これまでに行ったことは、 Names のインスタンスを作成するときに Names が文字列のリストになることを宣言することだけです...これは決して行ったことはありません。また、そうではありStringませんStrings

于 2013-09-20T19:35:17.787 に答える