C# IComparable und >=

rene87

Lieutenant
Registriert
Mai 2007
Beiträge
752
Moin an alle,

ich habe ein kleines Porblem bei der Implimentation von Prim, sofern ich als Gewichte für die Kanten nur int oder nur Floats benutze gibt es keine Problem aber wenn ich <T> kommt es zu Fehlern
das sind meine ersten Zeilen für die Klasse der Knoten
PHP:
public class FibNode<T> where T : IComparable{
        public T Key
zum vergleichen wo ein Konten eingefügt werden muss habe ich eine Vergleichsfunktion definiert, wo es bei dieser Zeile zu Porblemen kommt
PHP:
if (eins.Key >= zwei.Key)
            return true;
       return false;
PHP:
Operator '>=' cannot be applied to operands of type 'T' and 'T'
ich dachte, dadurch das Key vom Typ T und dieser IComparable ist, müssten solche Vergleiche doch möglich sein oder.

MfG René
 
Falsch. IComparable deklariert lediglich die Methode CompareTo().

Wenn du den Operator >= etc. verwenden willst, muss du ihn separat überladen.
 
Das Überladen des >= Operators ist an dieser Stelle aber ziemlich sinnlos.
Dafür gibts doch die CompareTo() Methode...

Code:
public static bool Compare(T eins, T zwei)
{
    return (eins.CompareTo(zwei) >= 0);
}
Macht genau das, was du willst.
 
Zurück
Oben