Kezdőoldal » Számítástechnika » Programozás » C# Delegált összehasonlítás...

C# Delegált összehasonlítás (CompareTo helyettesítése), hogyan?

Figyelt kérdés

Sziasztok a következő feladatot kaptam:


Készítsen egy: static int Összehasonlít(MyClass A,

MyClas B, ÖsszehasonlítóDelegált összehasonlítás) metódust. A cél az, hogy

különféle szempontok alapján tudjunk összehasonlítást végezni. Az ÖsszehasonlítóDelegált

int(MyClass, Myclass) típusú delegált. Valósítsa meg az

IComparable interfészt, ahol az Összehasonlít metódust használja fel két MyClass összehasonlítására.

Nos idáig eljutottam:

delegate int ÖsszehasonlítóDelegált(MyClass egyik, MyClass másik);

public static int Összehasonlít(MyClass egyik, MyClass másik, ÖsszehasonlítóDelegált összehasonlító)

{return összehasonlító(A, B);}


Nos vagy kihagytam valamit, vagy csak azt nem tudom a Mainben hogy kell implementálni, de sehogy nem akar működni... Előre is köszönöm a válaszokat!



2013. ápr. 25. 23:44
 1/3 Pj0tr ***** válasza:

static void Main(string[] args)

{

ComperableClass a = new ComperableClass(5);

ComperableClass b = new ComperableClass(10);


Console.WriteLine(Compare(a, b, (x, y) => x.CompareTo(y)));


Console.ReadKey(true);

}


static int Compare<T>(T x, T y, Func<T, T, int> func)

{

return func(x, y);

}

}


public class ComperableClass : IComparable<ComperableClass>

{

public int SomeInt { get; private set; }


public ComperableClass(int parameter)

{

SomeInt = parameter;

}


public int CompareTo(ComperableClass other)

{

// Ide valami logikát, most jó les a két int alapján a hasonlítás :)

return other.SomeInt.CompareTo(SomeInt);

}

}

2013. ápr. 26. 21:16
Hasznos számodra ez a válasz?
 2/3 Pj0tr ***** válasza:
Igen kimaradt egy z és nem csekkoltam a null-t az x-re :D
2013. ápr. 26. 21:18
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm :)
2013. ápr. 26. 22:20

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!