|

- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- namespace Linq
- {
- /*
- LINQ的写法:
- from 临时变量 in 实现IEnumerable<T>接口的对象(集合)
- where条件表达式
- [orderby条件]
- [group by 条件]
- select 临时变量中被查询的值
- */
- public partial class WebForm1 : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- string[] arr = { "sfssdfsdfdf", "234234", "sdfssdfdfdf", "dsgsdf234dfg", "234sdf", "45gdfg34fgdfg" };
-
- //var:匿名变量
- var strArr =
- //linq语句:从数组里查询所有元素放到strarr集合里
- from str in arr
- where str.Length > 10
- orderby str descending
- select str;
- //IEnumerable<T>接口的对象strArr,是可以用foreach遍历的
- foreach (string str in strArr)
- {
- //Response.Write(str+"<br>");
-
- }
- //添加5个用户对象到集合里
- List<UserInfo> users = new List<UserInfo>();
- UserInfo user1 = new UserInfo(1, "张三", "男", 19, "34534656");
- UserInfo user2 = new UserInfo(2, "放到", "男", 22, "34534656");
- UserInfo user3 = new UserInfo(3, "的", "女", 39, "34534656");
- UserInfo user4 = new UserInfo(4, "更好", "女", 18, "34534656");
- UserInfo user5 = new UserInfo(5, "u影", "男", 29, "34534656");
- users.Add(user1);
- users.Add(user2);
- users.Add(user3);
- users.Add(user4);
- users.Add(user5);
- //linq子句:
- //from select where group orderby join let into
- var uArr = from u in users where u.UserSex == "女" orderby u.UserAge select u;
- foreach (var user in uArr)
- {
- //Response.Write("id:"+user.UserID+",名字:"+user.UserName+",性别:"+user.UserSex+",年龄:"+user.UserAge+
- // ",电话:"+user.UserTel+ "<br>");
- }
- //group by
- var uArr2 = from u in users group u by u.UserSex;
- for (int i = 0; i < uArr2.Count(); i++)
- {
- foreach (var user in uArr2.ElementAt(i))
- {
- //Response.Write("id:" + user.UserID + ",名字:" + user.UserName + ",性别:" + user.UserSex + ",年龄:" + user.UserAge +
- // ",电话:" + user.UserTel + "<br>");
- }
- }
- //
- List<ScoreInfo> scores = new List<ScoreInfo>();
- ScoreInfo s1 = new ScoreInfo(1, 1, 45);
- ScoreInfo s2 = new ScoreInfo(2, 2, 92);
- ScoreInfo s3 = new ScoreInfo(3, 4, 89);
- ScoreInfo s4 = new ScoreInfo(4, 5, 97);
- scores.Add(s1);
- scores.Add(s2);
- scores.Add(s3);
- scores.Add(s4);
- var uArr3 = from u in users
- join s in scores on u.UserID equals s.UserID
- select new { u.UserName,u.UserSex,u.UserAge,u.UserTel, s.Score };
- foreach (var user in uArr3)
- {
- Response.Write("名字:" + user.UserName + ",性别:" + user.UserSex + ",年龄:" + user.UserAge +
- ",电话:" + user.UserTel + ",成绩:"+user.Score+ "<br>");
- }
- //let
- //var uArr4 = from s in scores where s.Score >= 90 select s.UserID into id
- //into
- }
- }
- }
- }
复制代码
Linq.rar
(152.72 KB, 下载次数: 0)
|
上一篇:[DBHelper]终极优化版代码下一篇:ASP.NET的三层架构(DAL,BLL,UI)
|