LINQ实现递归算法

LINQ的使代码更加整洁,但往常递归都会需要定义两个方法,如果使用Razor语法书写递归就会变得无从下手。所以推荐使用LINQ实现递归

@{
                        //统计名片认证数量
                        var TuiJianMingPianTotal = 0;
                        Func<int, int> MingPian = null;
                        MingPian = id =>
                        {
                            var basmas = DBHelper.BASMA.Where(ma => ma.MA021.Equals(id) && ma.MA038 != null);
                            TuiJianMingPianTotal += basmas.Count();
                            foreach (var it in basmas)
                            {
                                MingPian(it.ID);
                            }
                            return TuiJianMingPianTotal;
                        };
                    }
                    @MingPian(item.ID)
原文地址:https://www.cnblogs.com/loyung/p/5947008.html