Создать структуру «Мотоцикл» - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Помогите, пожалуйста, с решением задачи: "Требуется создать структуру «Мотоцикл», определить в нем поля: марка, модель, объем двигателя, цена. Определить метод GetInfo (или переопределить ToString), возвращающий характеристики мотоцикла. Используя интерфейс IСomparer, требуется реализовать возможность сортировки списка «Мотоциклов» по каждому из полей. В оконном приложении нужно задать (жестко в коде программы) список из нескольких мотоциклов (не меньше 5), затем вывести на форму в два различных текстовых поля или ListBox-а этот список, отсортированный в первом поле – по цене по убыванию, во втором – по марке в прямом алфавитном порядке(a-z)".

Решение задачи: «Создать структуру «Мотоцикл»»

textual
Листинг программы
class Program
    {
        static void Main(string[] args)
        {
            var motosSource = new []
            {
                new Moto
                {
                    EngineVolume = 12,
                    Mark = "z",
                    Model = "model1",
                    Price = 250000
                },
                new Moto
                {
                    EngineVolume = 14,
                    Mark = "a",
                    Model = "model2",
                    Price = 350000
                },
                new Moto
                {
                    EngineVolume = 7,
                    Mark = "c",
                    Model = "model3",
                    Price = 150000
                },
                new Moto
                {
                    EngineVolume = 9,
                    Mark = "b",
                    Model = "model4",
                    Price = 200000
                },
                new Moto
                {
                    EngineVolume = 9,
                    Mark = "b",
                    Model = "model5",
                    Price = 100000
                },
            };
 
            var sortedByPrice = motosSource.ToArray();
            Array.Sort(sortedByPrice, new MotoInversePriceComparer());
 
            var sortedByMark = motosSource.ToArray();
            Array.Sort(sortedByMark, new MotoMarkComparer());            
 
            foreach (var moto in sortedByPrice)
                Console.WriteLine(moto);
 
            Console.WriteLine();
            foreach (var moto in sortedByMark)
                Console.WriteLine(moto);
 
            Console.ReadLine();
        }
    }
 
    public struct Moto
    {
        public string Mark { get; set; }
        public string Model { get; set; }
        public decimal EngineVolume { get; set; }
        public decimal Price { get; set; }
 
        public override string ToString()
        {
            return $"Mark: {Mark}, Model: {Model}, EngineVolume: {EngineVolume}, Price: {Price}";
        }
    }
 
    public class MotoInversePriceComparer : IComparer<Moto>
    {        
        public int Compare(Moto x, Moto y)
        {
            return y.Price.CompareTo(x.Price);
        }        
    }
 
    public class MotoMarkComparer : IComparer<Moto>
    {
        public int Compare(Moto x, Moto y)
        {
            return String.Compare(x.Mark, y.Mark, StringComparison.Ordinal);
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы