【发布时间】:2014-09-14 17:17:57
【问题描述】:
我有一个字典作为另一个字典的值部分结构的字段之一,这样一门课程可以包含多个班级,每个班级都有自己的老师和学生,如下所示:
Structure course
Dim description As String
Structure classs
Dim teacherCode As String
Dim studentIDs() As Integer
End Structure
Dim classes As Dictionary(Of String, classs) 'key=classCode
End Structure
Structure courseKey
Dim name As String
Dim yearLevel As Short
End Structure
Dim courses As New Dictionary(Of courseKey, course)
我可以使用带有 courses.Add(courseKey, course) 的空类子字典构造一个 courseKey 并创建一个空的课程字典条目,但我不知道如何(或者,实际上,如果可能的话)创建一个带有非空类子词典的新课程词典条目。我希望能够做这样的事情来创建一个类,然后将它添加到课程中,但是得到一个 NullReferenceException (即使课程(courseKey)引用了适当的字典项,并且当 classCode 是一个有效的字符串和classes 是 classes 结构的有效实例,其中包含数据):
courses(courseKey).classes.Add(classCode, classs)
我是否遗漏了一些明显的东西?我打算拥有一些这样的数据结构,其中一些在另一个字典中包含多个字典。如果这不可能,也许有更好的方法?
【问题讨论】:
-
什么表达式为空?找出。我很想把它作为规范 NRE 问题的副本关闭。我看不出这个案子有什么特别之处。
标签: .net vb.net dictionary data-structures