Почему не видна реализация ICompareble? - C#

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

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

Вопрос почему при сортировке первого списка студия не видит мой метод Icompareble и как это исправить?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace ConsoleApplication19
{
    class AirlinesProperties : IComparable<AirlinesProperties>
    {
        public int number { set; get; }
        public int arrivalTime { get; set; }

        public AirlinesProperties() { }
        public AirlinesProperties(int number, int arrivalTime)
        {
            this.number = number;
            this.arrivalTime = arrivalTime;
 
        }
 
        public int CompareTo(AirlinesProperties obj)
        {
            if (this.arrivalTime > obj.arrivalTime)
                return 1;
            if (this.arrivalTime < obj.arrivalTime)
                return -1;
            else
                return 0;
        }
        public override string ToString()
        {
            return String.Format(" {1}\tnumber: {2:C}\tarrivalTime: {3}%",
                this.arrivalTime, this.number);
        }
    }
 
    class Program
    {
        enum FlightType
        {
            flights,
        }
 
        struct AirplanesProperties
        {
            public int number;
            public string city;
            public string airline;
            public int terminal;
            public int arrivalTime;
            public int shippingFlight;
            public int bgate;

            static void Main(string[] args)
            {
                long a;
                Console.WriteLine(@"Please,  type the number:
            1. arrivalTime1
            2. udalenie elementa massiva
            3. Poisk po aviakompanii
            ");
 
                a = long.Parse(Console.ReadLine());
                switch (a)
                {
                    case 1:
                        Arrivaltime1();
                        Console.WriteLine("");
                        break;

                    case 2:
 
                        Airline();
                        Console.WriteLine("");
                        break;
 
                    case 3:
 
                        gate();
                        Console.WriteLine("");
                        break;
                    default:
                        Console.WriteLine("Exit");
                        break;
 
                }
                Console.WriteLine("Press any key");
                Console.ReadLine();
            }

            #region ArrivalTime1        
            private static void Arrivaltime1()
            {
 
                int x;
                int y;
                int z;
                int k;

                Console.WriteLine("arrivalTime1");
                x = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("arrivalTime2");
                y = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("arrivalTime3");
                z = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("arrivalTime4");
                k = Convert.ToInt32(Console.ReadLine());
 
                List<AirplanesProperties> fligths = new List<AirplanesProperties>();
                fligths.Add(new AirplanesProperties { number = 1, arrivalTime = x, });
                fligths.Add(new AirplanesProperties { number = 2, arrivalTime = y, });
                fligths.Add(new AirplanesProperties { number = 3, arrivalTime = z, });
                fligths.Add(new AirplanesProperties { number = 4, arrivalTime = k, });

                fligths.Sort();
                foreach (AirplanesProperties a in fligths)
                    Console.WriteLine(a);
            }
            #endregion
            // udalenie elementa massiva
            #region Airline
            private static void Airline()
            {
                List<AirplanesProperties> fligth = new List<AirplanesProperties>();
                fligth.Add(new AirplanesProperties { number = 1, city = "kiyev", airline = "PAU", terminal = 1, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 2, city = "kiyev", airline = "PAU", terminal = 1, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 3, city = "Odessa", airline = "MAU", terminal = 3, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 4, city = "Odessa", airline = "MAU", terminal = 5, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 4, city = "Odessa", airline = "RAU", terminal = 5, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 5, city = "Odessa", airline = "RAU", terminal = 5, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                int n = Convert.ToInt32(Console.ReadLine());
                fligth = fligth.Where(x => x.number != n).ToList<AirplanesProperties>();
                foreach (AirplanesProperties x in fligth)
                {
                    Console.WriteLine(x.airline + x.arrivalTime + x.bgate + x.city + x.number);
                }
 
            }
            #endregion
            //Poisk po aviakompanii
            #region gate
            private static void gate()
            {
 
                List<AirplanesProperties> fligth = new List<AirplanesProperties>();
                fligth.Add(new AirplanesProperties { number = 1, city = "kiyev", airline = "PAU", terminal = 1, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 1, city = "kiyev", airline = "PAU", terminal = 1, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 1, city = "Odessa", airline = "MAU", terminal = 3, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 1, city = "Odessa", airline = "MAU", terminal = 5, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 1, city = "Odessa", airline = "RAU", terminal = 5, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                fligth.Add(new AirplanesProperties { number = 1, city = "Odessa", airline = "MAU", terminal = 5, arrivalTime = 0, shippingFlight = 0, bgate = 1 });
                string z = Convert.ToString(Console.ReadLine());
                List<AirplanesProperties> result = fligth.Where(x => x.airline == z).ToList();
                foreach (AirplanesProperties x in result)
                {
                    Console.WriteLine(x.airline + x.arrivalTime + x.bgate + x.city + x.number);
                }

            }
        }
        #endregion
    }
}

Решение задачи: «Почему не видна реализация ICompareble?»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
class Program
{
    class AirplanesProperties : IComparable<AirplanesProperties>
    {
        public int Number { get; set; }
        public int ArrivalTime { get; set; }
        public string City { get; set; }
        public string Airline { get; set; }
        public int Terminal { get; set; }
        public int ShippingFlight { get; set; }
        public int Bgate { get; set; }
 
        public AirplanesProperties() { }
        public AirplanesProperties(int number, int arrivalTime)
        {
            Number = number;
            ArrivalTime = arrivalTime;
        }
 
        public int CompareTo(AirplanesProperties obj)
        {
            if (ArrivalTime > obj.ArrivalTime)
                return 1;
            else if (ArrivalTime < obj.ArrivalTime)
                return -1;
 
            return 0;
        }
 
        public override string ToString()
        {
            return String.Format(" {1}\tnumber: {0:C}\tarrivalTime: ", ArrivalTime, Number);
        }
    }
 
    #region ArrivalTime1
    private static void Arrivaltime1()
    {
        int x, y, z, k;
        Console.WriteLine("arrivalTime1");
        x = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("arrivalTime2");
        y = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("arrivalTime3");
        z = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("arrivalTime4");
        k = Convert.ToInt32(Console.ReadLine());
 
        List<AirplanesProperties> fligths = new List<AirplanesProperties>()
            {
                new AirplanesProperties { Number = 1, ArrivalTime = x, },
                new AirplanesProperties { Number = 2, ArrivalTime = y, },
                new AirplanesProperties { Number = 3, ArrivalTime = z, },
                new AirplanesProperties { Number = 4, ArrivalTime = k, }
            };
        fligths.Sort();
        foreach (var item in fligths)
            Console.WriteLine(item);
    }
    #endregion
 
    #region Airline
    private static void Airline()
    {
        List<AirplanesProperties> fligth = new List<AirplanesProperties>()
        {
            new AirplanesProperties { Number = 1, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 2, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 3, City = "Odessa", Airline = "MAU", Terminal = 3, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 4, City = "Odessa", Airline = "MAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 4, City = "Odessa", Airline = "RAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 5, City = "Odessa", Airline = "RAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 }
        };
        int n = Convert.ToInt32(Console.ReadLine());
        var filterFlight = fligth.Where(x => x.Number != n);
        foreach (var x in filterFlight)
        {
            Console.WriteLine(x.Airline + x.ArrivalTime + x.Bgate + x.City + x.Number);
        }
    }
    #endregion
 
    #region gate
    private static void gate()
    {
        List<AirplanesProperties> fligth = new List<AirplanesProperties>()
        {
            new AirplanesProperties { Number = 1, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 1, City = "kiyev", Airline = "PAU", Terminal = 1, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 1, City = "Odessa", Airline = "MAU", Terminal = 3, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 1, City = "Odessa", Airline = "MAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 1, City = "Odessa", Airline = "RAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 },
            new AirplanesProperties { Number = 1, City = "Odessa", Airline = "MAU", Terminal = 5, ArrivalTime = 0, ShippingFlight = 0, Bgate = 1 }
        };
        string z = Console.ReadLine();
        var result = fligth.Where(x => x.Airline == z);
        foreach (var x in result)
        {
            Console.WriteLine(x.Airline + x.ArrivalTime + x.Bgate + x.City + x.Number);
        }
    }
    #endregion
 
    static void Main()
    {
        Console.WriteLine(@"Please,  type the number:
            1. arrivalTime1
            2. udalenie elementa massiva
            3. Poisk po aviakompanii
            ");
        int a = int.Parse(Console.ReadLine());
        switch (a)
        {
            case 1:
                Arrivaltime1();
                Console.WriteLine("");
                break;
            case 2:
 
                Airline();
                Console.WriteLine("");
                break;
            case 3:
                gate();
                Console.WriteLine("");
                break;
            default:
                Console.WriteLine("Exit");
                break;
        }
        Console.ReadKey();
    }
}

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


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

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

15   голосов , оценка 4.733 из 5