c# 扩展方法问题

code:


    public static class EnumerableExtensions
    {        public static T Find<T>(this IEnumerable<T> enumerable, Predicate<T> match)
        {           return enumerable.Find(match);
        }
 
    }

调用:

ErpDic.Value.AsParallel().Find(x => x.code == code)

ErpDic是个  private Lazy<List<sys_dict_common>> ErpDic;

为什么这个 扩展方法find 进入了无限递归呢?不明白。


holdtom
浏览 763回答 2
2回答

不负相思意

IEnumerable<T>没有Find方法,你这里这样用肯定是递归了。

智慧大石

enumerable.Find(match);这里不就是在调用public static T Find<T>(this IEnumerable<T> enumerable, Predicate<T> match)....而且要是你这么写不递归.你就把这扩展方法删了也一样能调用明白不.1.递归了,因为你写了这个方法2.没递归,那你就不用写这方法.结论:你冷静下来好好想想人生
打开App,查看更多内容
随时随地看视频慕课网APP