This article is a mirror article of machine translation, please click here to jump to the original article.

View: 18803|Reply: 0

[ASP.NET] asp.net_linq language integration query example

[Copy link]
Posted on 5/7/2015 10:40:57 AM | | |
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;

  7. namespace Linq
  8. {
  9.     /*
  10.      LINQ的写法:
  11.     from 临时变量 in 实现IEnumerable<T>接口的对象(集合)
  12.     where条件表达式
  13.     [orderby条件]
  14.     [group by 条件]
  15.     select 临时变量中被查询的值
  16.      */
  17.     public partial class WebForm1 : System.Web.UI.Page
  18.     {
  19.         protected void Page_Load(object sender, EventArgs e)
  20.         {


  21.             if (!IsPostBack)
  22.             {
  23.                 string[] arr = { "sfssdfsdfdf", "234234", "sdfssdfdfdf", "dsgsdf234dfg", "234sdf", "45gdfg34fgdfg" };

  24.                
  25.                 //var:匿名变量
  26.                 var strArr =
  27.                     //linq语句:从数组里查询所有元素放到strarr集合里
  28.                     from str in arr
  29.                     where str.Length > 10
  30.                     orderby str descending
  31.                     select str;

  32.                 //IEnumerable<T>接口的对象strArr,是可以用foreach遍历的
  33.                 foreach (string str in strArr)
  34.                 {
  35.                     //Response.Write(str+"<br>");
  36.                     
  37.                 }

  38.                 //添加5个用户对象到集合里
  39.                 List<UserInfo> users = new List<UserInfo>();
  40.                 UserInfo user1 = new UserInfo(1, "张三", "男", 19, "34534656");
  41.                 UserInfo user2 = new UserInfo(2, "放到", "男", 22, "34534656");
  42.                 UserInfo user3 = new UserInfo(3, "的", "女", 39, "34534656");
  43.                 UserInfo user4 = new UserInfo(4, "更好", "女", 18, "34534656");
  44.                 UserInfo user5 = new UserInfo(5, "u影", "男", 29, "34534656");
  45.                 users.Add(user1);
  46.                 users.Add(user2);
  47.                 users.Add(user3);
  48.                 users.Add(user4);
  49.                 users.Add(user5);

  50.                 //linq子句:
  51.                 //from select where group orderby join let into
  52.                 var uArr = from u in users where u.UserSex == "女" orderby u.UserAge select u;

  53.                 foreach (var user in uArr)
  54.                 {
  55.                     //Response.Write("id:"+user.UserID+",名字:"+user.UserName+",性别:"+user.UserSex+",年龄:"+user.UserAge+
  56.                     //    ",电话:"+user.UserTel+ "<br>");

  57.                 }

  58.                 //group     by
  59.                 var uArr2 = from u in users group u by u.UserSex;

  60.                 for (int i = 0; i < uArr2.Count(); i++)
  61.                 {
  62.                     foreach (var user in uArr2.ElementAt(i))
  63.                     {
  64.                         //Response.Write("id:" + user.UserID + ",名字:" + user.UserName + ",性别:" + user.UserSex + ",年龄:" + user.UserAge +
  65.                         //    ",电话:" + user.UserTel + "<br>");

  66.                     }
  67.                 }

  68.                 //
  69.                 List<ScoreInfo> scores = new List<ScoreInfo>();
  70.                 ScoreInfo s1 = new ScoreInfo(1, 1, 45);
  71.                 ScoreInfo s2 = new ScoreInfo(2, 2, 92);
  72.                 ScoreInfo s3 = new ScoreInfo(3, 4, 89);
  73.                 ScoreInfo s4 = new ScoreInfo(4, 5, 97);
  74.                 scores.Add(s1);
  75.                 scores.Add(s2);
  76.                 scores.Add(s3);
  77.                 scores.Add(s4);

  78.                 var uArr3 = from u in users
  79.                             join s in scores on u.UserID equals s.UserID
  80.                             select new { u.UserName,u.UserSex,u.UserAge,u.UserTel, s.Score };

  81.                 foreach (var user in uArr3)
  82.                 {
  83.                     Response.Write("名字:" + user.UserName + ",性别:" + user.UserSex + ",年龄:" + user.UserAge +
  84.                         ",电话:" + user.UserTel + ",成绩:"+user.Score+ "<br>");
  85.                 }

  86.                 //let
  87.                 //var uArr4 = from s in scores where s.Score >= 90 select s.UserID into id


  88.                 //into
  89.             }
  90.         }
  91.     }
  92. }
Copy code
Linq.rar (152.72 KB, Number of downloads: 0)




Previous:[DBHelper] Ultimate Optimized Code
Next:Three-tier architecture of ASP.NET (DAL, BLL, UI)
Disclaimer:
All software, programming materials or articles published by Code Farmer Network are only for learning and research purposes; The above content shall not be used for commercial or illegal purposes, otherwise, users shall bear all consequences. The information on this site comes from the Internet, and copyright disputes have nothing to do with this site. You must completely delete the above content from your computer within 24 hours of downloading. If you like the program, please support genuine software, purchase registration, and get better genuine services. If there is any infringement, please contact us by email.

Mail To:help@itsvse.com