我有一个 ArrayList
。
我想要检查这个 ArrayList
中是否存在任何值。
我想使用 Any 方法(来自 System.Linq
命名空间),但是我只能在 Array
上使用它,而不能在 ArrayList
上使用。
有没有一种有效的方法来检查这个问题?
你可以检查 .Count > 0
。但更好的选择是停止使用 ArrayList
。既然你了解 Any()
和 System.Linq
,我假设你不使用 .NET 1.1;因此,使用 List<T>
替换一些 T
,所有问题都将得到解决。这具有完整的 LINQ-to-Objects 使用,并且只是一个更好的想法。
List<int> myInts = ...
bool anyAtAll = myInts.Any();
bool anyEvens = myInts.Any(x => (x % 2) == 0);
// etc
.Cast
方法将您的数组列表转换为通用类型。ArrayList ar = new ArrayList();
bool hasItem = ar.Cast<int>().Any( i => i == 1);
A
开头的人”,然后我开始:bool b = list.Any(p => p.Name.StartsWith("A"));
- 轮到你了... - Marc Gravell你可以使用 ArrayList.Count 属性来获取数组中对象的数量。如果它等于 0,则表示其中没有任何内容。
ArrayList
有 Count
,而不是 Count()
;Enumerable
有 Count
,但仅适用于 IEnumerable<T>
。 - Marc Gravell
ArrayList
而不是泛型的List<T>
? - Tim Schmelter