Estoy tratando de encontrar el fragmento de código más reutilizable, pero elegante, posible para determinar si un IEnumerable. En el ideal, esta debería ser una función a la que pueda llamar absolutamente en cualquier momento que necesite saber si un IEnumerable está vacío.¿Qué es una pieza de código sólida, elegante y reutilizable para determinar si un IEnumerable está vacío en .NET?
Si bien he desarrollado una respuesta para .NET 3.5 que me ha funcionado hasta ahora, mi pensamiento actual es que no hay una respuesta perfecta, ya que un IEnumerable puede encapsular técnicamente una colección (o cola de iteradores) que modifica los resultados subyacentes a medida que se repiten, lo que causaría problemas. Sin embargo, esto también sería un impedimento para implementar IEnumerable.Count(), y eso no impidió que MS lo proporcionara.
Así que pensé que lo pondría en SO para ver si alguien tiene uno mejor, y en caso de que alguien más lo encuentre útil.
Edit: Wow, no puedo creer que no supiera sobre IEnumerable.Any. Sabía que existía, pero nunca me molesté en comprobar qué hacía. Deja que esto sea una lección. Lee la documentación. El hecho de que un nombre de método no implique que hace lo que quiere, no significa que no hace lo que usted quiere.
Wow .... No puedo creer que no sabía acerca de esto. ¡Gracias! –
Es nuevo en .Net 3.5 – Keith