我想创建一个包含数据库中以下值的强类型多维数组或集合:
要求:
感谢大家的精彩回答。这就是我选择的......:)
Structure FileRecord
Dim Name As String
Dim Size As Integer
Sub New(ByVal FileName As String, ByVal FileSize As Integer)
Me.Name = FileName
Me.Size = FileSize
End Sub
Sub New(ByVal Files() As FileRecord)
For Each f As FileRecord In Files
Dim fr As New FileRecord(f.Name, f.Size)
Next
End Sub
End Structure
答案 0 :(得分:4)
您不能拥有包含两种不同类型的多维数组。
相反,您通常会制作包含数据的自定义类的单维数组(或List(Of T)
)。
在您的情况下,您可能需要以下内容:
Public Class FileRecord
Public Property Name As String
Public Property Size as Integer
End Class
然后,设置List(Of FileRecord)
来保存您的数据。然后,您可以将其作为:
Dim nameAtIndex = theList(i).Name
Dim sizeAtIndex = theList(i).Size
答案 1 :(得分:3)
您可以使用通用列表集合:
Public Class MyItem
Public Property FileName As String
Public Property FileSize As Integer
End Class
现在你可以有一个清单:
Dim MyItems AS List(Of MyItem)
答案 2 :(得分:1)
请记住,虽然它不是强类型的,但HashTable类最适合存储和检索大量数据。如果FileName是唯一的,那将是您的密钥。此外,您可以将哈希表包装在另一个类中,并提供强类型的方法来添加和检索。
根据对this SO帖子的回答,Dictionary(of T)提供了哈希表的通用实现。可能值得研究。
答案 3 :(得分:0)
让我们保持超级简单。当程序员把事情变得比他们需要的更复杂时,我真的不喜欢。
Dim Multi_Dimensional_Array As Object(,) = _
{{"Item 1", "1", "2", "3", "4", "5"},
{"Item 2", "6", "7", "8", 9"", "No More Items"}}
如果您愿意,可以将它从“对象”更改为“字符串”。