标签:
在Linq查询中Let子句可以创建一个新的范围变量,并使用该变量保存表达式的结果。
看下面的例子:
1 private void LetQuery() 2 { 3 4 List<UserBaseInfo> users = new List<UserBaseInfo>(); 5 6 for(int i=1;i<10;i++) 7 { 8 users.Add(new UserBaseInfo(i,"users0"+i.ToString(),"user0"+i.ToString()+"@web.com")); 9 } 10 11 var result = from u in users 12 let number= Int32.Parse(u.UserName.Substring(u.UserName.Length - 2)) 13 group u by number % 2 == 0 into g 14 15 where g.Count() < 5 16 17 select g; 18 19 foreach (var v in result) 20 { 21 foreach (UserBaseInfo u in v) 22 { 23 Response.Write(u.UserName + "</br>"); 24 } 25 } 26 }
相当于用let 创建了一个整型变量number 来存放 Int32.Parse(u.UserName.Substring(u.UserName.Length - 2))表达式的结果。
运行结果:
标签:
原文地址:http://www.cnblogs.com/yplong/p/5413450.html