Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 18803|Yanıt: 0

[ASP.NET] asp.net_linq dil entegrasyonu sorgusu örneği

[Bağlantıyı kopyala]
Yayınlandı 7.05.2015 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. }
Kopya kodu
Linq.rar (152.72 KB, İndirme sayısı: 0)




Önceki:[DBHelper] Nihai Optimize Kod
Önümüzdeki:ASP.NET'ın üç kademeli mimarisi (DAL, BLL, UI)
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com