我需要更改一个只有一个参数且接受一系列对象的方法。我需要找到继承树中具有Count属性的最低接口。到目前为止,我一直在使用IEnumerable,但是由于它没有Count,所以我需要将其更改为可能性更广泛的更大接口,以便该方法可以处理最多类型的系列(集合、列表、数组等)。
提前致谢。
提前致谢。
ICollection
增加了 Count
属性。
正如 @Joren 所指出的那样,如果你愿意将你的集合泛型化,IEnumerable<T>
有扩展方法 Count<T>()
。然而,正如 @Joel Coehoorn 指出的那样,不建议使用此方法,因为它会强制迭代序列。
System.Collections.ICollection
,以及System.Collections.Generic.ICollection<T>
。这两个接口没有直接关系,但它们都继承自IEnumerable接口,因此处于同一级别。
IEnumerable接口显然不具有Count属性(计数不一定预先确定)。