Почему не видна реализация 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();
}
}