Rzadki przykład:Dlaczego tak wiele nazwanych kolekcji w .NET nie implementuje IEnumerable <T>?
ConfigurationElementCollection
Net ma mnóstwo tych małych WhateverCollection
klas, które nie wdrażają IEnumerable<T>
, co oznacza, że nie można użyć LINQ do obiektów z nich po wyjęciu z pudełka. Nawet przed Linq, moglibyście pomyśleć, że chcieliby użyć generycznych (które zostały wprowadzone w C# 2, jak sądzę).
Wygląda na to, że przez cały czas przeszukuję te irytujące małe kolekcje. Czy jest jakiś techniczny powód?
zostały wprowadzone wcześniej generyczne były dostępne. –
Możesz technicznie używać LINQ "po wyjęciu z pudełka", używając 'OfType' lub' Cast' jeśli kolekcja ma tendencję do zawierania silnego typu, o ile przynajmniej implementuje 'IEnumerable' (nietypowy). 'OfType' /' Cast' generuje wydajne 'IEnumerable' instancje, a tym samym otwiera pozostałe operatory LINQ. –
I od dawna używam ArrayList. – deerchao