c# - 计算 IEnumerable 的计数(非通用)

标签 c# .net linq extension-methods ienumerable

任何人都可以帮助我为 IEnumerable(非通用接口(interface))提供 Count 扩展方法。

我知道 LINQ 不支持它,但是如何手动编写它?

最佳答案

yourEnumerable.Cast<object>().Count()

关于性能的评论:

我认为这是过早优化的一个很好的例子,但现在开始:

static class EnumerableExtensions
{
    public static int Count(this IEnumerable source)
    {
        int res = 0;

        foreach (var item in source)
            res++;

        return res;
    }
}

关于c# - 计算 IEnumerable 的计数(非通用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604168/

相关文章:

c# - 通过 C# 将 LINQ to XML

c# - 现有文件名和创建唯一文件名的问题

c# - IsDirty 标志模式

c# - 为什么 C# 不支持返回引用?

c# - 如何在 C# 中设置 HttpWebRequest 的内容?

c# - 如何在不尊重某些字符的情况下对列表进行排序?

c# - 为什么更改 linq 组中的一个项目会影响同一组中的其他项目?

c# - 文件创建日期时间为不同的文件和时间重复

c# - SqlTableProfileProvider,自定义ProfileBase类,给properties添加额外的属性

c# - 清空目录的最佳方法是什么?