Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 18803|Απάντηση: 0

[ASP.NET] asp.net_linq παράδειγμα ερωτήματος ενοποίησης γλώσσας

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 7/5/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. }
Αντιγραφή κώδικα
Linq.rar (152.72 KB, Αριθμός λήψεων: 0)




Προηγούμενος:[DBHelper] Απόλυτος βελτιστοποιημένος κώδικας
Επόμενος:Αρχιτεκτονική τριών επιπέδων ASP.NET (DAL, BLL, UI)
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com