当前位置:编程学习 > C#/ASP.NET >>

关于用Expressions类生成LAMDA表达式的问题

--------------------编程问答-------------------- var   q3   =   users.GroupBy( 
                g   =>   new 
                { 
                        sex   =   g.Sex, 

                } 
                ).Select( 
                p   =>   new  User 
                { 
                        Sex   =   p.Key.sex, 

                        Age   =   p.Average(g   =>   g.Age), 
                } 
                ); 
--------------------编程问答--------------------
引用 1 楼 q107770540 的回复:
var   q3   =   users.GroupBy( 
                g   =>   new 
                { 
                        sex   =   g.Sex, 

                } 
                ).Select( 
                p   => ……

呃……
我想问的是用类似
var ints = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//var r = ints.Where(i => i > 5); // 要实现的表达式

// 创建参数 i
var parameter = Expression.Parameter(typeof(int), "i");

// 创建常量5
var constant = Expression.Constant(5);

// 创建比较表达式 i > 5
var bin = Expression.GreaterThan(parameter, constant);

// 获取Lambda表达式
var lambda = Expression.Lambda<Func<int, bool>>(bin, parameter);

// 通过 Compile 方法获取 Delegate
var _r = ints.Where(lambda.Compile());

这种方式来构建lamda表达式 --------------------编程问答-------------------- mark lambda我也看了不明白。
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,