Laden...

[erledigt] Wie letztes element von Typ T aus collection selektieren?

Erstellt von Seikilos vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.045 Views
Thema geschlossen
S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 13 Jahren
[erledigt] Wie letztes element von Typ T aus collection selektieren?

Ich habe eine Collection, die aus beliebigen Untertypen von einer Klasse X bestehen kann.

Ich suche nun ein LINQ Query bei dem ich das Letzte Element aus einer Collection selektiere, das vom Typ T ist.

Geht es anders, als über ein (from x in collection where x is T select x).Last<T>() ?

Life is a short

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo Seiskilos,

hast du dir FindLast(Predicate<T> match) schon mal angeguckt?
Damit sollte es möglich sein

Gruss
Michael

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 13 Jahren

Oh, genial, habe ich übersehen, ich habe bei Intellisense nur bei .Last rumgelungert.

Danke!

Life is a short

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 13 Jahren

Hallo,
mal was nebenbei ohne einen extra Thread zu öffnen. Wenn ich so etwas wie OfType uf eine Collection mache a là
collection.OfType<T>() und darauf ein Count machen möchte, muss ich ja explizit beim Count auch ein T angeben, ist das so richtig? Oder gibt es da einen Trick über implizite Typisierung? Ich mein collection.OfType<T>().Count<Was wohl?>() sollte ja irgendwie defaultbar zu T sein, außer ich will einen parent typen oder so

Life is a short

Gelöschter Account
vor 13 Jahren

außer ich will einen parent typen

Parent Typ wäre hier dann nur noch mit einem harten Cast möglich.

Die Typherleitung übernimmt immer der Compiler. Daher wirst du dich in dem Fall an das Compilerteam wenden müssen.

Edit: ich habs gerade nachgetestet... ich musste den Typen nicht explizit angeben.

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 13 Jahren

Stimmt, ich denke ich habe es immer mit Count<>() also leeren spitzen Klammern versucht, was nicht ging. Intellisense zeigt mir nämlich Count() gar nicht als Methode an, daher hab ich es wahrscheinlich auch nicht probiert.

Nun alles gelöst, vielen dank 😃

Life is a short

S
Seikilos Themenstarter:in
753 Beiträge seit 2006
vor 13 Jahren

Jeden Tag was neues 😃

Wenn ich ein IOrderedEnumerable (Ergebnis eines LINQ Queries) von Elementen mit Typ T habe und die Referenz auf eines dieser Ts besitze, gibt es dann einen Weg, das Element vor diesem Typen T zu selektieren? Ich bräuchte ein LINQ Query, was theoretisch in der Lage ist ein Lookahead zu machen, so könnte ich ein Select Query bauen, was prüft ob das nächste Element das referenzierte ist.

Life is a short

Hinweis vor 13 Jahren

Bitte immer nur eine Frage je Thread.

Thema geschlossen