C#如何判断,ArrayList是否包含具有某些属性的对象

Per*_*ika 2 c# contains arraylist

我有一个自定义类对象的ArrayList.我想知道,如果ArrayList包含具有某些属性的对象.我不关心对象,只要有一些.是的,我可以用foreach循环来做到这一点,但我想知道是否有更优雅的方式这样做.

谢谢你的建议.

Jon*_*eet 8

好吧,首先我建议使用List<T>而不是ArrayList.然后LINQ to Objects让它变得非常简单:

if (list.Any(x => x.HasFoo))
{
}
Run Code Online (Sandbox Code Playgroud)

或者没有LINQ(但仍然List<T>)

if (list.FindIndex(x => x.HasFoo) != -1)
{
}
Run Code Online (Sandbox Code Playgroud)

如果您确实需要坚持使用非泛型集合,但也可以使用LINQ to Objects,则可以使用:

if (arrayList.Cast<YourType>().Any(x => x.HasFoo))
{
}
Run Code Online (Sandbox Code Playgroud)