C#如何确定ArrayList是否包含具有特定属性的对象

本文关键字:属性 对象 包含具 何确定 ArrayList 是否 | 更新日期: 2023-09-27 18:24:45

我有一个自定义类对象的ArrayList。我想知道,ArrayList是否包含具有特定属性的对象。我不在乎对象,只要有一些。是的,我可以用foreach循环来做这件事,但我想知道是否有更优雅的方法来做

谢谢你的建议。

C#如何确定ArrayList是否包含具有特定属性的对象

首先,我建议使用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示例

相关文章: