C # cómo determinar, si ArrayList contiene objeto con cierto atributo

Tengo un ArrayList de objetos de mi clase personalizada. Me gustaría saber, si ArrayList contiene objeto con cierto atributo. No me importa el objeto, solo si hay alguno. Sí, podría hacer esto con cada ciclo, pero me preguntaba si habría una forma más elegante de hacerlo.

Gracias por las sugerencias.

Bueno, para empezar, sugeriría usar List lugar de ArrayList . Entonces LINQ to Objects lo hace realmente fácil:

 if (list.Any(x => x.HasFoo)) { } 

O sin LINQ (pero aún List )

 if (list.FindIndex(x => x.HasFoo) != -1) { } 

Si realmente necesita quedarse con una colección no genérica pero también tiene LINQ to Objects disponible, puede usar:

 if (arrayList.Cast().Any(x => x.HasFoo)) { } 

usar Linq:

 var query = from o in yourarray select o where o.atribute==ValueIWant; `query.Count()` will return the number of objects that fit the condition. 

verifique ese ejemplo de msdn: ejemplo de linq