Сортировка частично числовых элементов в 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 просто выбирает все значение.