zoukankan      html  css  js  c++  java
  • LINQ查询操作符

    1.     ·First - 返回集合中的第一个元素;不延迟  
    2.     ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟  
    3.     ·Last - 返回集合中的最后一个元素;不延迟  
    4.     ·LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)  
    5.     ·ElementAt - 返回集合中指定索引的元素;不延迟  
    6.     ·ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟  
    7.     ·Contains - 判断集合中是否包含有某一元素;不延迟  
    8.     ·Any - 判断集合中是否有元素满足某一条件;不延迟  
    9.     ·All - 判断集合中是否所有元素都满足某一条件;不延迟  
    10.     ·Count - 返回集合中的元素个数,返回int;不延迟  
    11.     ·LongCount - 返回集合中的元素个数,返回long;不延迟  
    12.     ·Sum - 集合应为数字类型集合,求其和;不延迟  
    13.     ·Min - 返回集合的最小值;不延迟  
    14.     ·Max - 返回集合的最大值;不延迟  
    15.     ·Average - 集合应为数字类型集合,求其平均值;不延迟  
    16.     ·Aggregate - 根据输入的表达式获取一个聚合值;不延迟  
    17.     ·Cast - 将集合转换为强类型集合;延迟  
    18.     ·DefaultIfEmpty - 查询结果为空则返回默认值;延迟  
    19.     ·SequenceEqual - 判断两个集合是否相同;不延迟  
    20.     ·OfType - 过滤集合中的指定类型;延迟  
    21.     ·ToArray - 将集合转换为数组;不延迟  
    22.     ·ToList - 将集合转换为List<T>集合;不延迟  
    23.     ·ToDictionary - 将集合转换为<K, V>集合;不延迟
    24. Summary3.aspx.cs  
      using System;  
      using System.Data;  
      using System.Configuration;  
      using System.Collections;  
      using System.Linq;  
      using System.Web;  
      using System.Web.Security;  
      using System.Web.UI;  
      using System.Web.UI.WebControls;  
      using System.Web.UI.WebControls.WebParts;  
      using System.Web.UI.HtmlControls;  
      using System.Xml.Linq;  
        
      using System.Collections.Generic;  
      using DAL;  
        
      public partial class LINQ_Summary3 : System.Web.UI.Page  
      {  
          NorthwindDataContext _ctx = new NorthwindDataContext();  
          string[] _ary = null;  
        
          protected void Page_Load(object sender, EventArgs e)  
          {  
              _ary = new string[] { "asp.net", "csharp", "xhtml", "css", "javascript",   
                  "wcf", "wpf", "silverlight", "linq", "wf",   
                  "sqlserver", "asp.net ajax", "ssis", "ssas", "ssrs" };  
        
              // First - 返回集合中的第一个元素;不延迟  
              // FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟  
              Summary_First_FirstOrDefault();  
        
              // Last - 返回集合中的最后一个元素;不延迟  
              // LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)  
              Summary_Last_LastOrDefault();  
        
              // ElementAt - 返回集合中指定索引的元素;不延迟  
              // ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟  
              Summary_ElementAt_ElementAtOrDefault();  
        
              // Contains - 判断集合中是否包含有某一元素;不延迟  
              Summary_Contains();  
        
              // Any - 判断集合中是否有元素满足某一条件;不延迟  
              Summary_Any();  
        
              // All - 判断集合中是否所有元素都满足某一条件;不延迟  
              Summary_All();  
        
              // Count - 返回集合中的元素个数,返回int;不延迟  
              // LongCount - 返回集合中的元素个数,返回long;不延迟  
              Summary_Count_LongCount();  
        
              // Sum - 集合应为数字类型集合,求其和;不延迟  
              Summary_Sum();  
        
              // Min - 返回集合的最小值;不延迟  
              Summary_Min();  
        
              // Max - 返回集合的最大值;不延迟  
              Summary_Max();  
        
              // Average - 集合应为数字类型集合,求其平均值;不延迟  
              Summary_Average();  
        
              // Aggregate - 根据输入的表达式获取一个聚合值;不延迟  
              Summary_Aggregate();  
        
              // Cast - 将集合转换为强类型集合;延迟  
              Summary_Cast();  
        
              // DefaultIfEmpty - 查询结果为空则返回默认值;延迟  
              Summary_DefaultIfEmpty();  
        
              // SequenceEqual - 判断两个集合是否相同;不延迟  
              Summary_SequenceEqual();  
        
              // OfType - 过滤集合中的指定类型;延迟  
              Summary_OfType();  
        
              // ToArray - 将集合转换为数组;不延迟  
              Summary_ToArray();  
        
              // ToList - 将集合转换为List<T>集合;不延迟  
              Summary_ToList();  
        
              // ToDictionary - 将集合转换为<K, V>集合;不延迟  
              Summary_ToDictionary();  
          }  
      }  
      First - 返回集合中的第一个元素;不延迟  
      FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟  
          /**//// <summary>  
          /// First - 返回集合中的第一个元素;不延迟  
          /// FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟  
          /// </summary>  
          void Summary_First_FirstOrDefault()  
          {  
              string s = (from a in _ary  
                          select a).First(a => a.StartsWith("s"));  
              // string s = (from a in _ary  
              //             select a).FirstOrDefault(a => a.StartsWith("xxx"));  
              // s == null  
        
              result.InnerHtml += s + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      silverlight  
        
      Last - 返回集合中的最后一个元素;不延迟  
      LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)  
          /**//// <summary>  
          /// Last - 返回集合中的最后一个元素;不延迟  
          /// LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)  
          /// </summary>  
          void Summary_Last_LastOrDefault()  
          {  
              string s = (from a in _ary  
                          select a).Last(a => a.StartsWith("s"));  
              // string s = (from a in _ary  
              //             select a).LastOrDefault(a => a.StartsWith("sss"));  
              // s == null  
        
              result.InnerHtml += s + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      ssrs  
        
      ElementAt - 返回集合中指定索引的元素;不延迟  
      ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟  
          /**//// <summary>  
          /// ElementAt - 返回集合中指定索引的元素;不延迟  
          /// ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟  
          /// </summary>  
          void Summary_ElementAt_ElementAtOrDefault()  
          {  
              string s = (from a in _ary  
                          select a).ElementAt(3);  
              // string s = (from a in _ary  
              //             select a).ElementAtOrDefault(1000);  
              // s == null  
        
              result.InnerHtml += s + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      css  
        
      Contains - 判断集合中是否包含有某一元素;不延迟  
          /**//// <summary>  
          /// Contains - 判断集合中是否包含有某一元素;不延迟  
          /// </summary>  
          void Summary_Contains()  
          {  
              bool b = (from a in _ary  
                        select a).Contains("javascript");  
        
              result.InnerHtml += b.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      True  
        
      Any - 判断集合中是否有元素满足某一条件;不延迟  
          /**//// <summary>  
          /// Any - 判断集合中是否有元素满足某一条件;不延迟  
          /// </summary>  
          void Summary_Any()  
          {  
              bool b = (from a in _ary  
                        select a).Any(p => p.Length > 10);  
        
              result.InnerHtml += b.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      True  
        
      All - 判断集合中是否所有元素都满足某一条件;不延迟  
          /**//// <summary>  
          /// All - 判断集合中是否所有元素都满足某一条件;不延迟  
          /// </summary>  
          void Summary_All()  
          {  
              bool b = (from a in _ary  
                        select a).All(p => p.Length > 10);  
        
              result.InnerHtml += b.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      False  
        
      Count - 返回集合中的元素个数,返回int;不延迟  
      LongCount - 返回集合中的元素个数,返回long;不延迟  
          /**//// <summary>  
          /// Count - 返回集合中的元素个数,返回int;不延迟  
          /// LongCount - 返回集合中的元素个数,返回long;不延迟  
          /// </summary>  
          void Summary_Count_LongCount()  
          {  
              int i = (from a in _ary  
                       select a).Count(p => p.Length > 10);  
              // long i = (from a in _ary  
              //           select a).LongCount(p => p.Length > 10);  
        
              result.InnerHtml += i.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      2  
        
      Sum - 集合应为数字类型集合,求其和;不延迟  
          /**//// <summary>  
          /// Sum - 集合应为数字类型集合,求其和;不延迟  
          /// </summary>  
          void Summary_Sum()  
          {  
              int i = (from a in _ary  
                       select a.Length).Sum();  
        
              result.InnerHtml += i.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      87  
        
      Min - 返回集合的最小值;不延迟  
          /**//// <summary>  
          /// Min - 返回集合的最小值;不延迟  
          /// </summary>  
          void Summary_Min()  
          {  
              int i = (from a in _ary  
                       select a.Length).Min();  
        
              result.InnerHtml += i.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      2  
        
      Max - 返回集合的最大值;不延迟  
          /**//// <summary>  
          /// Max - 返回集合的最大值;不延迟  
          /// </summary>  
          void Summary_Max()  
          {  
              int i = (from a in _ary  
                       select a.Length).Max();  
        
              result.InnerHtml += i.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      12  
        
      Average - 集合应为数字类型集合,求其平均值;不延迟  
          /**//// <summary>  
          /// Average - 集合应为数字类型集合,求其平均值;不延迟  
          /// </summary>  
          void Summary_Average()  
          {  
              double d = (from a in _ary  
                          select a.Length).Average();  
        
              result.InnerHtml += d.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      5.8  
        
      Aggregate - 根据输入的表达式获取一个聚合值;不延迟  
          /**//// <summary>  
          /// Aggregate - 根据输入的表达式获取一个聚合值;不延迟  
          /// </summary>  
          void Summary_Aggregate()  
          {  
              // 以下算法的Aggregate相当于Sum  
              double d = (from a in _ary  
                          select a.Length).Aggregate((x, y) => x + y);  
        
              result.InnerHtml += d.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      87  
        
      Cast - 将集合转换为强类型集合;延迟  
          /**//// <summary>  
          /// Cast - 将集合转换为强类型集合;延迟  
          /// </summary>  
          void Summary_Cast()  
          {  
              ArrayList al = new ArrayList();  
              al.Add("asp.net");  
              al.Add("csharp");  
              al.Add("xhtml");  
        
              var list = al.Cast<string>();  
        
              foreach (string s in list)  
              {  
                  result.InnerHtml += s + "<br />";  
              }  
              result.InnerHtml += "<br />";  
          }运行结果  
      asp.net  
      csharp  
      xhtml  
        
      DefaultIfEmpty - 查询结果为空则返回默认值;延迟  
          /**//// <summary>  
          /// DefaultIfEmpty - 查询结果为空则返回默认值;延迟  
          /// </summary>  
          void Summary_DefaultIfEmpty()  
          {  
              var list = (from a in _ary  
                          where a.Length > 100  
                          select a).DefaultIfEmpty("xxx");  
        
              foreach (string s in list)  
              {  
                  result.InnerHtml += s + "<br />";  
              }  
              result.InnerHtml += "<br />";  
          }运行结果  
      xxx  
        
      SequenceEqual - 判断两个集合是否相同;不延迟  
          /**//// <summary>  
          /// SequenceEqual - 判断两个集合是否相同;不延迟  
          /// </summary>  
          void Summary_SequenceEqual()  
          {  
              bool b = (from a in _ary  
                        where a.Length > 10  
                        select a).SequenceEqual(from a in _ary  
                                                where a.Length > 10  
                                                select a);  
        
              result.InnerHtml += b.ToString() + "<br />";  
              result.InnerHtml += "<br />";  
          }运行结果  
      True  
        
      OfType - 过滤集合中的指定类型;延迟  
          /**//// <summary>  
          /// OfType - 过滤集合中的指定类型;延迟  
          /// </summary>  
          void Summary_OfType()  
          {  
              object[] objects = { 1, "a", 2, "b", 3, "c" };  
        
              var list = objects.OfType<string>();  
        
              foreach (string s in list)  
              {  
                  result.InnerHtml += s + "<br />";  
              }  
              result.InnerHtml += "<br />";  
          }运行结果  
      a  
      b  
      c  
        
      ToArray - 将集合转换为数组;不延迟  
          /**//// <summary>  
          /// ToArray - 将集合转换为数组;不延迟  
          /// </summary>  
          void Summary_ToArray()  
          {  
              string[] ary = (from p in _ctx.Products  
                              where p.ProductName.Length > 30  
                              select p.ProductName).ToArray();  
        
              foreach (string s in ary)  
              {  
                  result.InnerHtml += s + "<br />";  
              }  
              result.InnerHtml += "<br />";  
          }运行结果  
      Jack's New England Clam Chowder  
      Louisiana Fiery Hot Pepper Sauce  
      Original Frankfurter grüne So?e  
      Uncle Bob's Organic Dried Pears  
        
      ToList - 将集合转换为List<T>集合;不延迟  
          /**//// <summary>  
          /// ToList - 将集合转换为List<T>集合;不延迟  
          /// </summary>  
          void Summary_ToList()  
          {  
              var list = (from a in _ary  
                          where a.Length > 10  
                          select a).ToList();  
        
              foreach (string s in list)  
              {  
                  result.InnerHtml += s + "<br />";  
              }  
              result.InnerHtml += "<br />";  
          }运行结果  
      silverlight  
      asp.net ajax  
        
      ToDictionary - 将集合转换为<K, V>集合;不延迟  
          /**//// <summary>  
          /// ToDictionary - 将集合转换为<K, V>集合;不延迟  
          /// </summary>  
          void Summary_ToDictionary()  
          {  
              var dic = (from p in _ctx.Products  
                         where p.ProductName.Length > 30  
                         select p).ToDictionary(p => p.ProductID);  
        
              foreach (var p in dic)  
              {  
                  result.InnerHtml += p.Key + "" + p.Value.ProductName + "<br />";  
              }  
              result.InnerHtml += "<br />";  
          }运行结果  
      7:Uncle Bob's Organic Dried Pears  
      41:Jack's New England Clam Chowder  
      65:Louisiana Fiery Hot Pepper Sauce  
      77:Original Frankfurter grüne So?e  
  • 相关阅读:
    Introduction to Machine Learning
    IEEE 802.3 Ethernet
    Introduction to Computer Networks(网络架构与七层参考模式)
    Integral类型的跨平台使用
    Aggregate类型以及值初始化
    合成的默认构造函数定义为delete的一种情况(针对C++11标准)
    版本控制工具Git
    编程实现计算器
    Linux客户/服务器程序设计范式2——并发服务器(进程池)
    Linux客户/服务器程序设计范式1——并发服务器(多进程)
  • 原文地址:https://www.cnblogs.com/KKSoft/p/7230471.html
Copyright © 2011-2022 走看看