Mam na razie taki kod, który sortuje po wieku:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Osoba : IComparable<Osoba>
{
public string Imie {get; set;}
public string Nazwisko { get; set; }
public int Wiek { get; set; }
public Osoba(string imie, string nazwisko, int wiek)
{
this.Imie = imie;
this.Nazwisko = nazwisko;
this.Wiek = wiek;
}
public override string ToString()
{
return this.Imie + " " + this.Nazwisko + ", " + this.Wiek;
}
public int CompareTo(Osoba inna)
{
return this.Wiek.CompareTo(inna.Wiek);
}
static void Main(string[] args)
{
List<Osoba> lista = new List<Osoba>();
lista.Add(new Osoba("Adam", "Dobry", 25));
lista.Add(new Osoba("Karol", "Dawny", 18));
lista.Add(new Osoba("Hubert", "Prokos", 22));
lista.Sort();
foreach(Osoba os in lista)
{
Console.WriteLine(os);
}
}
}
Jak zrobić aby jeszcze było oddzielne sortowanie po imieniu ? Próbowałem tak, ale pokazuje mi ciągle błędy:
public class SortByName : IComparable<Osoba>
{
public int CompareTo(Osoba pierwsza, Osoba druga)
{
return pierwsza.Imie.CompareTo(druga.Imie);
}
}