Benutzer mit den meisten Antworten
Wie ich erhalte ich die Anzahl der Linien mit gleicher Länge aus einer Liste (mit LINQ)?

Frage
-
Hallo,
ich suche eine LINQ-Lösung für folgendes Problem:Grundlage bildet das Objekt Line, welches u.a. die Eigenschaften Length (Länge der Linie) und Angle (Winkel der Linie) besitzt.
Weiterhin habe ich eine Liste vom Typ Line, in welcher sich vier Line-Objekte befinden.Im speziellen Fall will ich prüfen, ob die vier Linien einen Winkel von (0, 90, 180, 270) besitzen und in der zweiten Abfrage, ob diese
zu einem Quadrat (alle Linien habe gleiche Länge) oder Rechteck (zwei Linien habe gleiche Länge) gehören.
Dies möglichst mit LINQ, denn mit for-Schleifen funktioniert es, aber zu umständlich.Das Prüfen, ob die vier Linien einen Winkel von (0, 90, 180, 270) besitzen, habe ich wie unten gelöst und
lasse mir die Anzahl der Seiten ausgeben (Zahl 4 bedeutet Quadrat oder Rechteck, Zahl 3 ...).
' objlines ist die Liste mit vier LinienDim linesParallel As Integer = objlines.Where(Function(l) Math.Abs(l.Angle - 0) < 1.0 OrElse Math.Abs(l.Angle - 90) < 1.0 OrElse
Math.Abs(l.Angle - 180) < 1.0 OrElse Math.Abs(l.Angle - 270) < 1.0).Count
Jetzt will ich anschließend nochmals die vier Linien (l.Length) in der Liste prüfen, ob zwei oder vier Seiten gleich lang sind bzw.
wieviele Seiten sind gleich lang.
Wäre schön, wenn jemand eine Lösung hätte.
Alexander
Antworten
-
Hallo Alexander,
in SQL würde es mit Group und Count funktionieren.
Hier mal eine Umsetzung in Linq und C#.
http://stackoverflow.com/questions/448203/linq-to-sql-using-group-by-and-countdistinct
MFG
Björn
- Bearbeitet Robert BreitenhoferModerator Mittwoch, 23. November 2011 08:57 Formatierung
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 23. November 2011 08:58
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 2. Dezember 2011 12:52
Alle Antworten
-
Hallo Alexander,
in SQL würde es mit Group und Count funktionieren.
Hier mal eine Umsetzung in Linq und C#.
http://stackoverflow.com/questions/448203/linq-to-sql-using-group-by-and-countdistinct
MFG
Björn
- Bearbeitet Robert BreitenhoferModerator Mittwoch, 23. November 2011 08:57 Formatierung
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 23. November 2011 08:58
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 2. Dezember 2011 12:52