步步为营VS 2008 + .NET 3.5(7) - LINQ查询 *** 作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun

步步为营VS 2008 + .NET 3.5(7) - LINQ查询 *** 作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun,第1张

概述from:http://www.cnblogs.com/webabcd/archive/2007/10/17/926855.html  步步为营VS 2008 + .NET 3.5(7) - LINQ查询 *** 作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count、Lo

from:http://www.cnblogs.com/webabcd/archive/2007/10/17/926855.HTML 

步步为营VS 2008 + .NET 3.5(7) - liNQ查询 *** 作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count、LongCount、Sum、Min、Max、Average、Aggregate、Cast、DefaultIfEmpty、SequenceEqual、OfType、ToArray、ToList、ToDictionary



作者:webabcd


介绍
    ·First - 返回集合中的第一个元素;不延迟
    ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
    ·Last - 返回集合中的最后一个元素;不延迟
    ·LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
    ·ElementAt - 返回集合中指定索引的元素;不延迟
    ·ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
    ·Contains - 判断集合中是否包含有某一元素;不延迟
    ·Any - 判断集合中是否有元素满足某一条件;不延迟
    ·All - 判断集合中是否所有元素都满足某一条件;不延迟
    ·Count - 返回集合中的元素个数,返回int;不延迟
    ·LongCount - 返回集合中的元素个数,返回long;不延迟
    ·Sum - 集合应为数字类型集合,求其和;不延迟
    ·Min - 返回集合的最小值;不延迟
    ·Max - 返回集合的最大值;不延迟
    ·Average - 集合应为数字类型集合,求其平均值;不延迟
    ·Aggregate - 根据输入的表达式获取一个聚合值;不延迟
    ·Cast - 将集合转换为强类型集合;延迟
    ·DefaultIfEmpty - 查询结果为空则返回默认值;延迟
    ·SequenceEqual - 判断两个集合是否相同;不延迟
    ·OfType - 过滤集合中的指定类型;延迟
    ·ToArray - 将集合转换为数组;不延迟
    ·ToList - 将集合转换为List<T>集合;不延迟
    ·ToDictionary - 将集合转换为<K,V>集合;不延迟


示例
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 
+=+ <br />;

        result.INNERHTML 
;

    }

运行结果
silverlight

Last - 返回集合中的最后一个元素;不延迟
LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)

     /**/  Last - 返回集合中的最后一个元素;不延迟

    
 LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)

    
 Summary_Last_LastOrDefault()

    

 _ary

                    select a).Last(a 
             select a).LastOrDefault(a => a.StartsWith("sss"));

        
;

    }

运行结果
ssrs

ElementAt - 返回集合中指定索引的元素;不延迟
ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟

     /**/  ElementAt - 返回集合中指定索引的元素;不延迟

    
 ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟

    
 Summary_ElementAt_ElementAtOrDefault()

    

 _ary

                    select a).ElementAt(
3);

        
             select a).ElementAtOrDefault(1000);

        
;

    }

运行结果
CSS

Contains - 判断集合中是否包含有某一元素;不延迟

     /**/  Contains - 判断集合中是否包含有某一元素;不延迟

    
 Summary_Contains()

    

bool b  _ary

                  select a).Contains(
JavaScript);


        result.INNERHTML 
 b.ToString() ;

    }

运行结果
True

Any - 判断集合中是否有元素满足某一条件;不延迟

     /**/  Any - 判断集合中是否有元素满足某一条件;不延迟

    
 Summary_Any()

    

 _ary

                  select a).Any(p 
 p.Length >10;

    }

运行结果
True

All - 判断集合中是否所有元素都满足某一条件;不延迟

     /**/  All - 判断集合中是否所有元素都满足某一条件;不延迟

    
 Summary_All()

    

 _ary

                  select a).All(p 
;

    }

运行结果
False

Count - 返回集合中的元素个数,返回int;不延迟
LongCount - 返回集合中的元素个数,返回long;不延迟

     /**/  Count - 返回集合中的元素个数,返回int;不延迟

    
 LongCount - 返回集合中的元素个数,返回long;不延迟

    
 Summary_Count_LongCount()

    

int i  _ary

                 select a).Count(p 
 long i = (from a in _ary

        
           select a).LongCount(p => p.Length > 10); i.ToString() ;

    }

运行结果
2

Sum - 集合应为数字类型集合,求其和;不延迟

     /**/  Sum - 集合应为数字类型集合,求其和;不延迟

    
 Summary_Sum()

    

 _ary

                 select a.Length).Sum();


        result.INNERHTML 
;

    }

运行结果
87

Min - 返回集合的最小值;不延迟

     /**/ @H_419_1574@ Min - 返回集合的最小值;不延迟

    
 Summary_Min()

    

 _ary

                 select a.Length).Min();


        result.INNERHTML 
;

    }

运行结果
2

Max - 返回集合的最大值;不延迟

 Max - 返回集合的最大值;不延迟

    
 Summary_Max()

    
 _ary

                 select a.Length).Max();


        result.INNERHTML 
;

    }

运行结果
12

Average - 集合应为数字类型集合,求其平均值;不延迟

     /**/  Average - 集合应为数字类型集合,求其平均值;不延迟

    
 Summary_Average()

    

double d  _ary

                    select a.Length).Average();


        result.INNERHTML 
 d.ToString() ;

    }

运行结果
5.8

Aggregate - 根据输入的表达式获取一个聚合值;不延迟

87

Cast - 将集合转换为强类型集合;延迟

     /**/  Aggregate - 根据输入的表达式获取一个聚合值;不延迟

    
 Summary_Aggregate()

    

 以下算法的Aggregate相当于Sum         _ary

                    select a.Length).Aggregate((x, y) 
 x  y);


        result.INNERHTML 
;

    }

运行结果

     /**/  Cast - 将集合转换为强类型集合;延迟

    
 Summary_Cast()

    

{

        ArrayList al 
new ArrayList();

        al.Add(
asp.net);

        al.Add(
csharpxhtml);


        var List 
 al.Cast<();


        
foreach ( List)

        

{

            result.INNERHTML 
;

        }
;

    }

运行结果
asp.net
csharp
xhtml

DefaultIfEmpty - 查询结果为空则返回默认值;延迟

     /**/  DefaultIfEmpty - 查询结果为空则返回默认值;延迟

    
 Summary_DefaultIfEmpty()

    

{

        var List 
 _ary

                    where a.Length 
100

                    select a).DefaultIfEmpty(
xxx);


        
 List)

        

;

    }

运行结果
xxx

SequenceEqual - 判断两个集合是否相同;不延迟

 SequenceEqual - 判断两个集合是否相同;不延迟

    
 Summary_SequenceEqual()

    

 _ary

                  where a.Length 

                  select a).SequenceEqual(from a 
 _ary

                                          where a.Length 

                                          select a);


        result.INNERHTML 
;

    }

运行结果
True

OfType - 过滤集合中的指定类型;延迟

     /**/  OfType - 过滤集合中的指定类型;延迟

    
 Summary_OfType()

    

{

        
object[] objects  

1a2bc };


        var List 
 objects.OfType List)

        

;

    }

运行结果
a
b
c

ToArray - 将集合转换为数组;不延迟

 ToArray - 将集合转换为数组;不延迟

    
 Summary_ToArray()

    

[] ary  (from p  _ctx.Products

                        where p.Productname.Length 
30

                        select p.Productname).ToArray();


        
 ary)

        

;

    }

运行结果
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()

    

in10

                    select a).ToList();


        
 List)

        

";

        }

        result.INNERHTML 
;

    }

运行结果
silverlight
asp.net AJAX

ToDictionary - 将集合转换为<K,V>集合;不延迟

     /**/  ToDictionary - 将集合转换为<K, V> Summary_ToDictionary()

    

{

        var dic 
 _ctx.Products

                   where p.Productname.Length 

                   select p).ToDictionary(p 
 p.ProductID);


        
 (var p  dic)

        

 p.Key  p.Value.Productname ;

    }

运行结果
7:Uncle Bob's Organic DrIEd Pears41:Jack's New England Clam Chowder65:Louisiana FIEry Hot Pepper Sauce77:Original Frankfurter grüne So?e

总结

以上是内存溢出为你收集整理的步步为营VS 2008 + .NET 3.5(7) - LINQ查询 *** 作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun全部内容,希望文章能够帮你解决步步为营VS 2008 + .NET 3.5(7) - LINQ查询 *** 作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1059212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存