C#如何确定ArrayList是否包含具有特定属性的对象
本文关键字:属性 对象 包含具 何确定 ArrayList 是否 | 更新日期: 2023-09-27 18:24:45
我有一个自定义类对象的ArrayList。我想知道,ArrayList是否包含具有特定属性的对象。我不在乎对象,只要有一些。是的,我可以用foreach循环来做这件事,但我想知道是否有更优雅的方法来做
谢谢你的建议。
首先,我建议使用List<T>
而不是ArrayList
。然后LINQ to Objects让它变得非常简单:
if (list.Any(x => x.HasFoo))
{
}
或者没有LINQ(但仍然是List<T>
)
if (list.FindIndex(x => x.HasFoo) != -1)
{
}
如果确实需要使用非通用集合,但也有LINQ to Objects可用,则可以使用:
if (arrayList.Cast<YourType>().Any(x => x.HasFoo))
{
}
使用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.
检查msdn示例:Linq示例