在Linq表达式中,into子句可以创建一个临时标识符,使用该标识符可以存储group、join或select子句的结果。
下面实例中我们用GroupOtherQuery方法来演示group子句对结果集进行分组。
1 private void GroupOtherQuery() 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 13 group u by Int32.Parse(u.UserName.Substring(u.UserName.Length - 2)) % 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 }
一般group子句不需要into子句,除非对每一个分组进行操作。
运行结果如下: