Aparte de facilitar la lectura, ¿cuál es la diferencia entre las siguientes consultas LINQ y cuándo y por qué debería utilizar uno sobre el otro:Diferencia entre OfType <>() y comprobación de tipos en el caso de() de extensión
IEnumerable<T> items = listOfItems.Where(d => d is T).Cast<T>();
y
IEnumerable<T> items = listOfItems.OfType<T>();
actualización: Dang, lo siento introdujo algunos errores al tratar de simplificar mi problema
La diferencia es que el primero no se compilará, ¿o sí? – Krizz
Probablemente significa: 'listOfItems.Where (d => d es T) .Cast()' –
codekaizen
Su código actualizado aún no se compilará. No puede simplemente convertir 'IEnumerable' a 'T' y asignarlo a' IEnumerable '. –
svick