Si suponemos que en ambos casos está utilizando los métodos de Extensión proporcionados por la clase estática Enumerable
, entonces será difícil medir cualquier diferencia entre los dos.
la forma más larga ...
myCollection.Where(...).FirstOrDefault()
... habrá (técnicamente) producir más actividad de la memoria (la creación de un iterador intermediario para manejar la cláusula Where()
) e implicar un poco más ciclos de procesamiento.
La cosa es que estos iteradores son perezosos - la cláusula Where()
no irá alegremente por toda la lista se evalúa el predicado, sólo se comprobará tantos elementos como sea necesario para encontrar uno para pasar a través.