LINQ, um den nächstliegenden Wert zu erhalten?

Habe ich eine Liste, MyStuff hat eine Eigenschaft vom Typ Float.

Gibt es Objekte mit Eigenschaftswerten von 10,20,22,30.

Schreiben brauche ich eine Abfrage, die Objekte erkennt, die am nächsten an 21, Sie würde in diesem Fall finden die 20-und 22-Objekt. Dann muss ich schreiben, eine, die findet das Objekt schließt an 21, ohne über, und würde es wieder das Objekt mit einem Wert von 20.

Habe ich keine Ahnung wo/wie anfangen mit diesem. Hilfe?

Dank.

Update - wow gibt es so viele geniale Antworten hier. Danke! Ich weiß nicht, was man zu Folgen, so werde ich versuchen Sie alle. Eine Sache, die macht es vielleicht mehr (oder weniger) interessant ist, dass die gleiche Abfrage für LINQ-to-SQL-Entitäten, so dass möglicherweise die Antwort geerntet aus dem MS Linq-Foren funktionieren am besten? Weiß nicht.

InformationsquelleAutor der Frage Snowy | 2010-09-16

Schreibe einen Kommentar