David_Wimbley
Вы не очень много предоставили для того, чтобы кто-то помог, но я готов поспорить, что вероятная проблема заключается в том, что ваш список обрабатывает ваши номера как строки, поэтому, как только вы начинаете входить в вещи > 9, Ваш заказ становится фанковым (Ex: 1, 10, 2,3,4,5,6,7,8, 9).
Поскольку я ленив и не чувствую желания помещать это в visual studio, этот фрагмент кода может быть глючным, но часть обучения-это выяснение вещей для yourself...so если он не компилируется/не запускается...google-ваш друг.
var listbox = new ListBox();
listbox.Items.Add("1");
listbox.Items.Add("2");
listbox.Items.Add("3");
listbox.Items.Add("4");
listbox.Items.Add("5");
listbox.Items.Add("6");
listbox.Items.Add("7");
listbox.Items.Add("8");
listbox.Items.Add("9");
listbox.Items.Add("10");
listbox.Items.Add("11");
listbox.Items.Add("12");
// Option One - Note...may not compile
var orderedItemsOption1 = listbox.Items.Select(m=> Convert.ToInt32(m)).OrderBy(m=> m);
var listBoxToIntItems = new List<int>();
foreach(var item in listbox.Items)
{
listBoxIoIntItems.Add(Convert.ToInt32(item));
}
var orderedItemsOption2 = listBoxToIntItems.Orderby(m=>m);
Это 2 варианта propbably довольно много для вас, чтобы преобразовать ваш список элементов в целое число и иметь порядок по функции должным образом.
Вам нужно посмотреть на преобразование.ToInt32 и решите, какой метод преобразования строк в целые числа лучше всего подходит для вас...Convert.ToInt32 взорвется, если вы попытаетесь передать ему, скажем..."а".