在Linq中select子句用来指定查询结果的类型和表现形式。Linq查询要么以select子句结尾,要么以group子句结尾。
1 List<UserBaseInfo> users = new List<UserBaseInfo>(); 2 3 for (int i = 1; i < 10; i++) 4 { 5 users.Add(new UserBaseInfo(i, "user0" + i.ToString(), "user0" + i.ToString() + "@web.com")); 6 } 7 8 9 //以下是创建Linq查询 10 var result = from u in users 11 12 where u.ID < 3 13 select u.UserName;
上面的select子句查询结果的类型为string类型的序列,序列值为users的username属性。
下面代码演示了使用select子句创建一个序列,其中序列包含id和username两个属性。该select子句使用了new 创建一个新的序列,该新序列包含两个属性,id和username。
1 List<UserBaseInfo> users = new List<UserBaseInfo>(); 2 3 for (int i = 1; i < 10; i++) 4 { 5 users.Add(new UserBaseInfo(i, "user0" + i.ToString(), "user0" + i.ToString() + "@web.com")); 6 } 7 8 9 10 var result = from u in users 11 12 where u.ID < 3 13 select new{u.ID, u.UserName};