Zufall Beispiel:Warum implementieren so viele benannte Auflistungen in .NET IEnumerable <T> nicht?
ConfigurationElementCollection
.Net Tonnen dieser kleinen WhateverCollection
Klassen hat, die nicht IEnumerable<T>
implementieren, was bedeutet, dass ich nicht Linq zu Objekten mit ihnen aus der Box verwenden kann. Schon vor Linq, würden Sie denken, dass sie Generika verwenden wollten (die in C# 2 eingeführt wurden, glaube ich)
Es scheint, dass ich die ganze Zeit über diese lästigen kleinen Sammlungstypen rennen. Gibt es einen technischen Grund?
sie eingeführt wurden, bevor Generika zur Verfügung standen. –
Sie können LINQ "out of the box" technisch verwenden, indem Sie 'OfType' oder' Cast' verwenden, wenn die Sammlung tendenziell einen starken Typ enthält, solange mindestens 'IEnumerable' (nicht-generisch) implementiert wird. 'OfType' /' Cast' liefert generische 'IEnumerable' Instanzen und öffnet damit den Rest der LINQ-Operatoren. –
Und lange seit ich ArrayList zum letzten Mal benutze. – deerchao