Member 13683287 Ответов: 1

C# сортировка списка по возрастанию


Привет.
Я действительно застрял на куске кода. Мне нечего показать, так как весь код, который я пробовал, не сработал.

У меня есть список, в котором пользователь может вводить числа ( многие из них мало, как им нравится)

У меня также есть кнопка “сделать мой номер восходящим”

Когда пользователь нажимает кнопку восхождения, мне нужно, чтобы список номеров появлялся в окне сообщения в восходящем виде. Пожалуйста, кто-нибудь может мне помочь с этим. Я действительно борюсь.

Что я уже пробовал:

Я пробовал много разных кодов но ни один из них не работает я просто получаю сообщения об ошибках

Patrice T

Приходите, когда у вас будет какой-нибудь код, чтобы показать.

BillWoodruff

Ни кода, ни помощи.

1 Ответов

Рейтинг:
2

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 взорвется, если вы попытаетесь передать ему, скажем..."а".