"Mindestens ein Objekt muss IComparable für ein INT implementieren?" Soweit ich weiß, tut es das

7

Ok, ich habe eine einfache IEnumerable<HtmlString> things und möchte sie in vier gleiche Gruppen aufteilen.

%Vor%

sollte den Trick machen, aber stattdessen bekomme ich diese Funky:

  

Server Fehler in '/' Anwendung. Mindestens ein Objekt muss implementiert werden   IComparable. Beschreibung: Eine nicht behandelte Ausnahme ist während der Ausführung aufgetreten   Ausführung der aktuellen Webanfrage. Bitte überprüfen Sie den Stack-Trace   Für weitere Informationen über den Fehler und wo es in der   Code.

     

Ausnahmedetails: System.ArgumentException: Mindestens ein Objekt muss   implementieren IComparable.

     

Zeile 36: int viertel = sachen.Zahl () / 4;

Wer weiß, was zum Teufel hier vor sich geht? Warum sollte ich IComparable implementieren, um eine einfache Zählung zu erhalten?

    
Scott Baker 21.09.2012, 21:06
quelle

1 Antwort

20

Meine Vermutung ist, dass dies mit einer langsamen Auswertung von LINQs OrderBy zu tun hat. Zum Beispiel, wenn Sie:

%Vor%

Wenn die foo.Bar -Eigenschaften nicht miteinander verglichen werden können, wird genau diese Ausnahme ausgelöst.

Zum Beispiel:

%Vor%

Ausgabe:

%Vor%     
Jon Skeet 21.09.2012, 21:13
quelle

Tags und Links