Сортировка частично числовых элементов в ComboBox или ListBox в C#
Пример показывает, как сортировать числовые значения.
В этом примере используется один и тот же базовый подход: создайте массив значений, отсортируйте их по мере их отображения, а затем отобразите их в ComboBox или ListBox. Единственное реальное изменение заключается в сортировке элементов. Следующий код показывает, как эта программа использует LINQ для выполнения своей магии. Он предполагает, что элементы имеют форму «10 - Начало решений для проектирования баз данных», поэтому за числовым значением следует пробел, а затем некоторый текст.
// Сортировка значений.
var sort_query =
from string value in values
orderby int.Parse(value.Split(' ')[0])
select value;
// Отображение результата.
string[] results = sort_query.ToArray();
cboBooks.DataSource = results;
lstBooks.DataSource = results;
В запросе рассматриваются элементы массива значений. Он упорядочивает элементы выражением int.Parse (значение.Split ('') [0]). Это разделяет значение на пространствах строки, а затем берет первую часть. Это будет числовая часть в начале строки. Он анализирует это значение на целое число, поэтому запрос упорядочивает значения численно не в алфавитном порядке.
Предложение select просто выбирает все значение.
