C# Select Distinct Werte aus IGrouping
Ich habe zwei Klassen:
class Foo
{
public Bar SomeBar { get; set; }
}
class Bar
{
public string Name { get; set; }
}
Habe ich eine Liste von Foos, dass ich die Gruppe zusammen:
var someGroup = from f in fooList
orderby f.SomeBar.Name ascending
group f by f.SomeBar.Name into Group
select Group;
Wie bekomme ich die Liste der verschiedenen Bars von someGroup?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird es möglicherweise mehr als eine Bar mit dem gleichen Namen? Wenn dem so ist, ist es schwierig. Wenn nicht, könnten Sie einfach es zu ändern:
Alternativ, wenn Sie nur eine Bar pro Namen, Sie bleiben mit Ihren ursprünglichen Abfrage, aber ändern Sie die letzten bit:
Diese werden die ersten Foo in jeder Gruppe, und finden Sie die Bar.
Wenn Sie definieren "ausgeprägt" durch eine spezielle
Equals
Umsetzung fürBar
, den Sie verwenden könnten:Menschen, die sich ähnliche Fragen stellten wie vorher, So habe ich mir vorgenommen diese Kombination von jeder wissen:
Was es tut ist:
ein. Erste Zeile wählt unterschiedliche Elemente Ihrer Wahl, die ist, was Sie wollte.
b. Zweite Zeile wandelt alten type1, um neue Typ2 durch den Bau von neuen T2-Liste.
Vielleicht overkilled für deine Frage, einfach hacken raus Dinge, die Sie nicht brauchen.