可能重复:
C#:结构与类
我正在创建一个库,该库相对较小,需要一个数据库,其中包含 MP3 文件的标签。
我知道如果我有固定大小的数据,如整数、双精度数等,最好坚持使用结构......但是在我的情况下,我有包含字符串甚至其他结构的字符串和列表......如果我会去结构,它看起来像这样:
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)
字符串和列表让我感到困惑,尤其是在速度方面。因为我会搜索很多歌曲,所以我想确保我使用的是最快的。
我也对装箱和拆箱感到困惑。我假设字符串列表仅包含指向“字符串”的指针,并且结构相同(试图低级思考)。但是,我不知道是否会发生装箱拆箱,这会减慢搜索速度(不使用数组列表的原因),因为无法确定大小(或者是吗?)
那么该选哪一个呢?类,还是结构?还是有其他更适合的东西?