Написать класс сравнения чисел, реализующий интерфейс срвнения iComparer - C#
Формулировка задачи:
Задача : Написать класс сравнения чисел, реализующий интерфейс сравнения iComparer<int>, который сортирует числа следующим образом:Вот код класса:
Задача вроде легкая, но я тока начал изучать c# . Не понимаю почему у меня цифра 4 не уходит в конец.
У меня получается : 5, 5, 1, 2, 3, 4, 6, 55
А должно получится : 5, 5, 1, 2, 3, 6, 55, 4
- Все пятерки сначала
- Все четверки в конце
- Все остальные числа по возрастанию
class Program { static void Main(string[] args) { var list = new List<int>(); list.Add(1); list.Add(2); list.Add(3); list.Add(4); list.Add(5); list.Add(6); list.Add(5); list.Add(55); list.Sort(new MyComparer()); foreach (var i in list) Console.WriteLine(i); Console.ReadKey(); } } }
class MyComparer : IComparer<int> { public int Compare(int x, int y) { if (x == 5) return -1; else { if (x == 4) return 1; else return 0; } } }
Решение задачи: «Написать класс сравнения чисел, реализующий интерфейс срвнения iComparer»
textual
Листинг программы
public int Compare(int x, int y) { if (x == y) return 0; if (x == 4) return 1; if (y == 4) return -1; if (x == 5) return -1; if (y == 5) return 1; return x - y; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д