1

My.Resources.MyList 是一个包含项目列表的文本文件,每个项目位于单独的行中。例如...

Green
Red
Black
Orange
etc.

我正在尝试将该列表排序到一个数组中,然后按字母顺序将结果输出到一个列表框中。

这是我的代码...

Dim MyListArray() As String = My.Resources.MyList.Split(Environment.NewLine)
Array.Sort(MyListArray)
MyListBox.DataSource = MyListArray

但是当我这样做时,列表中的第一个项目没有得到排序(由于某种原因它在列表的末尾结束)。换句话说,最终结果应该看起来像......

Black
Green
Orange
Red

但相反,它看起来像......

Black 
Orange
Red
Green

有任何想法吗?

4

2 回答 2

2

确保您的单词不以空字符开头/结尾。

MyListArray = MyListArray.Select(Function(a) a.Trim()).ToArray()
于 2013-01-28T21:09:17.817 回答
2

列表框的排序属性默认为 false。所以试试这个:

Listbox.Sorted = True

Listbox.TabIndex = 1

参考: http: //msdn.microsoft.com/en-us/library/system.windows.forms.listbox.sort.aspx ?cs-save-lang=1&cs-lang=vb#code-snippet-1

于 2013-01-28T21:09:57.457 回答