<分区>
Possible Duplicate:
C#: Structs versus classes
我正在创建一个库,它相对较小,需要一个数据库,包含 MP3 文件的标签。
我知道,如果我有固定大小的数据(如整数、 double 等),那么坚持使用结构会更好……但是在我的例子中,我有字符串和包含字符串甚至其他结构的列表……如果我将与结构一起使用,它看起来像这样:
Public Structure STitle
Dim Title As String
Dim Path As String
End Structure
Public Structure SAlbum
Dim Album As String
Dim Songs As List(Of STitle)
End Structure
Public Structure SArtist
Dim Artist As String
Dim Albums As List(Of SAlbum)
End Structure
然后,我会有这样的东西:
Public SongLibrary As New List(Of SArtist)
字符串和列表让我感到困惑,尤其是在速度方面。由于我将搜索大量歌曲,因此我想确保我使用的是最快的一首。
我也对装箱和拆箱感到困惑。我假设字符串列表只包含指向“字符串”的指针,并且结构相同(试图考虑低级别)。但是,我不知道是否会减慢搜索速度(不使用数组列表的原因)的装箱-拆箱,因为无法确定大小(或者是吗?)
那么选择哪一个呢?类,还是结构?或者还有其他更适合的东西吗?