我有一个结构数组。 它是这样宣称的如何排序结构数组?
Public SongsList as New List(Of Song)
“宋”它的结构的名称。 它有2个变量:路径和名称; 我想知道如何按名称排序这个数组。
Public Structure Song
Public Path as String
Public Name as String
End Structure
我想这
ListBox1.Items.Clear()
Dim sorted = SongsList.OrderBy(Function(s) s.Name).ToList
Dim i As Integer
For i = 0 To sorted.Count - 1
ListBox1.Items.Add(sorted(i).Name.ToString)
Next
但它抛出一个NullReferenceException
。
这是我如何将项目添加到SongsList
Dim open As New OpenFileDialog
open.Title = "Add songs"
open.Filter = "MP3 Files(*.mp3)|*.mp3"
open.Multiselect = True
ListBox1.Items.Clear()
If open.ShowDialog = DialogResult.OK Then
For Each SelectedSong As String In open.FileNames
i += 1
Dim songToAdd As New Song
songToAdd.Path = SelectedSong.ToString
songToAdd.Name = GetSafeFileName(SelectedSong.ToString)
SongsList.Add(songToAdd)
ListBox1.Items.Add(SongsList(i).Path)
Next
End If
我编辑了你的q可以在OneFineDay的答案的评论中加入你提到的代码;但请下一次尝试包含您尝试过的代码 - 即使它不起作用。现在,你能告诉我们如何填写'SongsList'吗? –
为什么你在已经是字符串的变量上调用'.ToString'? – Enigmativity
重复的[什么是NullReferenceException,我该如何解决它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –