Hirdetés

Új hozzászólás Aktív témák

  • Lacces

    őstag

    válasz Lacces #2540 üzenetére

    Órán ezt vettük:

    Bár már itt feltünt nekem, hogy a CompareTo() -t nem implementáltuk külön a Név adatmezőkre (Java-nál ezt megcsináltuk) de én magam sem implementáltam

    Amúgy ennél van szebb megoldás? Mint, hogy így külön osztályt csinálok neki? :R

    // Java Comparerto-nak a megfelelője
    class SzemelyNevComparer : IComparer<Szemely>
    {
    public int Compare(Szemely x, Szemely y)
    {
    if (x == null || y == null)
    {
    throw new NotImplementedException("Na mizu Öcsém?");
    }
    return x.Nev.CompareTo(y.Nev);
    }
    }

    class Program
    {
    static void Main(string[] args)
    {
    Szemely[] t = { new Szemely{Eletkor=19, Nev="Lajos"},
    new Szemely{Eletkor=25, Nev="Monika"},
    new Szemely{Eletkor=28, Nev="Peter"},
    new Szemely{Eletkor=19, Nev="Gabor"},
    new Szemely{Eletkor=25, Nev="Peter"},
    new Szemely{Eletkor=18, Nev="Andrea"},
    new Szemely{Eletkor=31, Nev="Peter"},
    new Szemely{Eletkor=29, Nev="Gabor"},
    };
    Console.WriteLine("Comparer megvalósítás: Névszerint: ");
    Array.Sort(t, new SzemelyNevComparer());
    foreach (var item in t)
    {
    Console.WriteLine(item);
    }
    Console.ReadLine();
    }
    }

Új hozzászólás Aktív témák