如何计算 IEnumerable 中的元素数量没有迭代?
理解问题
想象你有一个 IEnumerable;生成两个字符串的命名表:“Foo”和“Bar”。您想提前知道这些元素的数量,而不需要迭代它们。然而,IEnumerable 接口本质上并不提供此功能。
IEnumerable 的惰性本质
IEnumerable 遵循惰性评估机制,这意味着它仅在请求时检索元素。这种惰性方法通过将计算推迟到必要时来提高性能。因此,该接口没有内置的 count 属性。
解决方案:利用 ICollection或 Count() for IEnumerable
如果您需要不迭代的元素计数,请考虑使用 ICollection;接口代替。 ICollection 有一个 Count 属性,可以立即提供所需的信息。
或者,如果您有 IEnumerable;但可以承受单次迭代,您可以使用 Count() 扩展方法。 Count() 通过一次完整迭代检索元素的数量。
以上是如何在不显式迭代的情况下获取 IEnumerable 中的元素计数?的详细内容。更多信息请关注PHP中文网其他相关文章!