架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 16771|回复: 0

[ASP.NET] asp.net_linq语言集成查询示例

[复制链接]
发表于 2015-5-7 10:40:57 | 显示全部楼层 |阅读模式
  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. }
复制代码
Linq.rar (152.72 KB, 下载次数: 0)




上一篇:[DBHelper]终极优化版代码
下一篇:ASP.NET的三层架构(DAL,BLL,UI)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-7-2 04:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表