<address id="xpjh9"><listing id="xpjh9"><meter id="xpjh9"></meter></listing></address>

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
<noframes id="xpjh9">
<noframes id="xpjh9">

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
    <form id="xpjh9"></form><address id="xpjh9"><listing id="xpjh9"><menuitem id="xpjh9"></menuitem></listing></address>

      <noframes id="xpjh9">
      VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
      SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
      當前位置:
      首頁 > 編程開發 > C#編程 >
      • C#教程之C# LINQ

      • 2019-01-21 20:24 來源:未知

      1. 自定義 Master,Kongfu 類

      復制代碼
       1 class Master
       2 {
       3 
       4     public int Id { get; set; }
       5     public string Name { get; set; }
       6     public int Age { get; set; }
       7     public string MenPai { get; set; }
       8     public string Kongfu { get; set; }
       9     public int Level { get; set; }
      10 
      11     public override string ToString()
      12     {
      13         return string.Format("Id:{0},Name:{1},Age:{2},MenPai:{3},Kongfu:{4},Level:{5}", Id, Name, Age,MenPai,Kongfu,Level);
      14     }
      15 }
      復制代碼

       

      復制代碼
       1 class Kongfu
       2 {
       3     public int Id { get; set; }
       4     public string Name { get; set; }
       5     public int Power { get; set; }
       6 
       7     public override string ToString()
       8     {
       9         return string.Format("Id:{0},Name:{1},Power:{2}", Id, Name, Power);
      10     }
      11 }
      復制代碼

       

       

      2. 測試代碼

      復制代碼
        1 class Program
        2 {
        3     static void Main(string[] args)
        4     {
        5         var master = new List<Master>()
        6         {
        7             new Master() { Id = 100, Age = 100, Kongfu = "九陽神功",Level=10,MenPai="華山",Name="李二狗" },
        8             new Master() { Id = 50, Age = 10, Kongfu = "九陽神功1" ,Level=5,MenPai="華山",Name="李大狗"},
        9             new Master() { Id = 200, Age = 60, Kongfu = "九陽神功2",Level=6,MenPai="華山",Name="李狗蛋" },
       10         };
       11 
       12         var kongfu = new List<Kongfu>()
       13         {
       14             new Kongfu(){Id=1,Name="打狗棒法",Power=90},
       15             new Kongfu(){Id=2,Name="打狗棒法1",Power=30},
       16             new Kongfu(){Id=3,Name="打狗棒法2",Power=20},
       17         };
       18           
       19         //使用LINQ做查詢(表達式寫法)
       20         var res1 = from m in master   //from后面設置查詢的集合
       21                     where m.Level > 8     //where跟上條件
       22 
       23                     select m;//表示m的結果
       24         //select m.Name;  //只輸出名字
       25 
       26       
       27         //多個條件
       28         var res3 = from m in master
       29 
       30                     where m.Level > 8 && m.MenPai == "丐幫"
       31 
       32                     select m;
       33 
       34         var res4 = master.Where(m => m.Level > 8 && m.MenPai == "丐幫");
       35 
       36         //LINQ聯合查詢
       37         var res5 = from m in master
       38                     from k in kongfu
       39                     where m.Kongfu==k.Name
       40                     select new { master = m, kongfu = k };
       41                     //select m;
       42         foreach (var temp in res)
       43         {
       44             Console.WriteLine(temp);
       45         }
       46 
       47         //join on 聯合查詢
       48         var res12 = from m in master
       49                     join k in kongfu on m.Kongfu equals k.Name
       50                     where k.Power>90
       51                     select new { master = m, kongfu = k };
       52 
       53 
       54         //對查詢結果升序排序
       55         var res7 = from m in master
       56 
       57                     where m.Level > 8 && m.MenPai == "丐幫"
       58                     orderby m.Age
       59 
       60                     select m;
       61 
       62         //對查詢結果倒序排序
       63         var res8 = from m in master
       64 
       65                     where m.Level > 8 && m.MenPai == "丐幫"
       66                     orderby m.Age descending
       67 
       68                     select m;
       69 
       70         //對查詢結果升序排序
       71         var res9 = from m in master
       72 
       73                     where m.Level > 8 && m.MenPai == "丐幫"
       74                     orderby m.Age,m.Level //按照多個字段進行排序,如果字段的屬性相同,就按照第二個屬性排序
       75 
       76                     select m;
       77 
       78         var res10 = master.Where(m => m.Level > 8 && m.MenPai == "丐幫").OrderBy(m => m.Age);
       79         var res11 = master.Where(m => m.Level > 8 && m.MenPai == "丐幫").OrderBy(m => m.Age).ThenBy(m=>m.Level);
       80 
       81 
       82 
       83         //把人物按照所學功夫進行分類,看下哪個功夫修煉人數最多(分組查詢)
       84         var res13 = from k in kongfu
       85                     join m in master on k.Name equals m.Kongfu
       86                     into groups
       87                     orderby groups.Count()
       88                     select new { kongfu = k,count=groups.Count()};
       89 
       90         //按照字段分組
       91         var res14 = from m in master
       92                     group m by m.MenPai
       93                     into g
       94                     select new { count=g.Count(),key=g.Key}; //g.Key按照哪個屬性分組
       95 
       96         //量詞操作符any all判斷集合中是否滿足某個條件
       97         bool res15=master.Any(m => m.MenPai == "丐幫");
       98         Console.WriteLine(res15);//只要有一個滿足返回true
       99 
      100         bool res16=master.All(m => m.MenPai == "丐幫");//所有都滿足才返回true
      101 
      102 
      103 
      104         Console.ReadKey();
      105     }
      106 
      107     //過濾方法
      108     static bool Test1(Master m)
      109     {
      110         if (m.Level > 8) return true;
      111         return false;
      112     }
      113 }
      復制代碼

      相關教程
      江苏快3 东营 | 昌吉 | 甘孜 | 新泰 | 石狮 | 象山 | 廊坊 | 深圳 | 诸暨 | 灵宝 | 潍坊 | 庄河 | 株洲 | 果洛 | 汉川 | 郴州 | 三亚 | 甘肃兰州 | 厦门 | 安顺 | 简阳 | 包头 | 三明 | 简阳 | 吐鲁番 | 威海 | 甘孜 | 公主岭 | 石嘴山 | 正定 | 嘉兴 | 衡阳 | 商丘 | 南充 | 眉山 | 如东 | 陕西西安 | 河南郑州 | 昌吉 | 哈密 | 溧阳 | 怀化 | 襄阳 | 淮北 | 呼伦贝尔 | 淮南 | 红河 | 楚雄 | 中卫 | 海北 | 济南 | 陇南 | 新余 | 廊坊 | 台湾台湾 | 海西 | 大连 | 喀什 | 霍邱 | 灵宝 | 泸州 | 大庆 | 台湾台湾 | 黑龙江哈尔滨 | 枣阳 | 无锡 | 荆门 | 湖北武汉 | 湖北武汉 | 汉中 | 文山 | 秦皇岛 | 项城 | 毕节 | 陇南 | 湛江 | 西双版纳 | 阜阳 | 屯昌 | 自贡 | 晋中 | 黄山 | 舟山 | 黄山 | 巴音郭楞 | 三亚 | 南阳 | 临海 | 芜湖 | 宜都 | 崇左 | 图木舒克 | 金昌 | 海南海口 | 湖州 | 长兴 | 怒江 | 常德 | 眉山 | 昌都 | 湘西 | 珠海 | 大庆 | 烟台 | 神农架 | 台州 | 台湾台湾 | 海宁 | 保定 | 德阳 | 通辽 | 泰兴 | 昭通 |