Сортировка частично числовых элементов в ComboBox или ListBox в C#

Пример Использование пользовательского порядка сортировки для элементов ListBox или ComboBox в 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 просто выбирает все значение.

Источник: http://csharphelper.com/blog/2016/07/sort-partly-numeric-items-in-a-combobox-or-listbox-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector