博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET 3.5(8) - LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault
阅读量:5998 次
发布时间:2019-06-20

本文共 5422 字,大约阅读时间需要 18 分钟。

步步为营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

作者:
介绍
    ·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

InBlock.gif
using System;
InBlock.gif
using System.Data;
InBlock.gif
using System.Configuration;
InBlock.gif
using System.Collections;
InBlock.gif
using System.Linq;
InBlock.gif
using System.Web;
InBlock.gif
using System.Web.Security;
InBlock.gif
using System.Web.UI;
InBlock.gif
using System.Web.UI.WebControls;
InBlock.gif
using System.Web.UI.WebControls.WebParts;
InBlock.gif
using System.Web.UI.HtmlControls;
InBlock.gif
using System.Xml.Linq;
InBlock.gif
InBlock.gif
using System.Collections.Generic;
InBlock.gif
using DAL;
InBlock.gif
InBlock.gif
public partial
class LINQ_Summary3 : System.Web.UI.Page
InBlock.gif{
InBlock.gif        NorthwindDataContext _ctx =
new NorthwindDataContext();
InBlock.gif        
string[] _ary =
null;
InBlock.gif
InBlock.gif        
protected
void Page_Load(
object sender, EventArgs e)
InBlock.gif        {
InBlock.gif                _ary =
new
string[] {
"asp.net",
"csharp",
"xhtml",
"css",
"javascript",    
InBlock.gif                        
"wcf",
"wpf",
"silverlight",
"linq",
"wf",    
InBlock.gif                        
"sqlserver",
"asp.net ajax",
"ssis",
"ssas",
"ssrs" };
InBlock.gif
InBlock.gif                
// First - 返回集合中的第一个元素;不延迟
InBlock.gif                
// FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
InBlock.gif                Summary_First_FirstOrDefault();
InBlock.gif
InBlock.gif                
// Last - 返回集合中的最后一个元素;不延迟
InBlock.gif                
// LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
InBlock.gif                Summary_Last_LastOrDefault();
InBlock.gif
InBlock.gif                
// ElementAt - 返回集合中指定索引的元素;不延迟
InBlock.gif                
// ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
InBlock.gif                Summary_ElementAt_ElementAtOrDefault();
InBlock.gif
InBlock.gif                
// Contains - 判断集合中是否包含有某一元素;不延迟
InBlock.gif                Summary_Contains();
InBlock.gif
InBlock.gif                
// Any - 判断集合中是否有元素满足某一条件;不延迟
InBlock.gif                Summary_Any();
InBlock.gif
InBlock.gif                
// All - 判断集合中是否所有元素都满足某一条件;不延迟
InBlock.gif                Summary_All();
InBlock.gif
InBlock.gif                
// Count - 返回集合中的元素个数,返回int;不延迟
InBlock.gif                
// LongCount - 返回集合中的元素个数,返回long;不延迟
InBlock.gif                Summary_Count_LongCount();
InBlock.gif
InBlock.gif                
// Sum - 集合应为数字类型集合,求其和;不延迟
InBlock.gif                Summary_Sum();
InBlock.gif
InBlock.gif                
// Min - 返回集合的最小值;不延迟
InBlock.gif                Summary_Min();
InBlock.gif
InBlock.gif                
// Max - 返回集合的最大值;不延迟
InBlock.gif                Summary_Max();
InBlock.gif
InBlock.gif                
// Average - 集合应为数字类型集合,求其平均值;不延迟
InBlock.gif                Summary_Average();
InBlock.gif
InBlock.gif                
// Aggregate - 根据输入的表达式获取一个聚合值;不延迟
InBlock.gif                Summary_Aggregate();
InBlock.gif
InBlock.gif                
// Cast - 将集合转换为强类型集合;延迟
InBlock.gif                Summary_Cast();
InBlock.gif
InBlock.gif                
// DefaultIfEmpty - 查询结果为空则返回默认值;延迟
InBlock.gif                Summary_DefaultIfEmpty();
InBlock.gif
InBlock.gif                
// SequenceEqual - 判断两个集合是否相同;不延迟
InBlock.gif                Summary_SequenceEqual();
InBlock.gif
InBlock.gif                
// OfType - 过滤集合中的指定类型;延迟
InBlock.gif                Summary_OfType();
InBlock.gif
InBlock.gif                
// ToArray - 将集合转换为数组;不延迟
InBlock.gif                Summary_ToArray();
InBlock.gif
InBlock.gif                
// ToList - 将集合转换为List<T>集合;不延迟
InBlock.gif                Summary_ToList();
InBlock.gif
InBlock.gif                
// ToDictionary - 将集合转换为<K, V>集合;不延迟
InBlock.gif                Summary_ToDictionary();
InBlock.gif        }
InBlock.gif}
 
First - 返回集合中的第一个元素;不延迟
FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
/// <summary>
InBlock.gif        
/// First - 返回集合中的第一个元素;不延迟
InBlock.gif        
/// FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_First_FirstOrDefault()
InBlock.gif        {
InBlock.gif                
string s = (from a
in _ary
InBlock.gif                                        select a).First(a => a.StartsWith(
"s"));
InBlock.gif                
// string s = (from a in _ary
InBlock.gif                
//                         select a).FirstOrDefault(a => a.StartsWith("xxx"));
InBlock.gif                
// s == null
InBlock.gif
InBlock.gif                result.InnerHtml += s +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
silverlight
Last - 返回集合中的最后一个元素;不延迟
LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
/// <summary>
InBlock.gif        
/// Last - 返回集合中的最后一个元素;不延迟
InBlock.gif        
/// LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_Last_LastOrDefault()
InBlock.gif        {
InBlock.gif                
string s = (from a
in _ary
InBlock.gif                                        select a).Last(a => a.StartsWith(
"s"));
InBlock.gif                
// string s = (from a in _ary
InBlock.gif                
//                         select a).LastOrDefault(a => a.StartsWith("sss"));
InBlock.gif                
// s == null
InBlock.gif
InBlock.gif                result.InnerHtml += s +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
ssrs
ElementAt - 返回集合中指定索引的元素;不延迟
ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
/// <summary>
InBlock.gif        
/// ElementAt - 返回集合中指定索引的元素;不延迟
InBlock.gif        
/// ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_ElementAt_ElementAtOrDefault()
InBlock.gif        {
InBlock.gif                
string s = (from a
in _ary
InBlock.gif                                        select a).ElementAt(3);
InBlock.gif                
// string s = (from a in _ary
InBlock.gif                
//                         select a).ElementAtOrDefault(1000);
InBlock.gif                
// s == null
InBlock.gif
InBlock.gif                result.InnerHtml += s +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
css
Contains - 判断集合中是否包含有某一元素;不延迟
InBlock.gif
/// <summary>
InBlock.gif        
/// Contains - 判断集合中是否包含有某一元素;不延迟
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_Contains()
InBlock.gif        {
InBlock.gif                
bool b = (from a
in _ary
InBlock.gif                                    select a).Contains(
"javascript");
InBlock.gif
InBlock.gif                result.InnerHtml += b.ToString() +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
True
Any - 判断集合中是否有元素满足某一条件;不延迟
InBlock.gif
/// <summary>
InBlock.gif        
/// Any - 判断集合中是否有元素满足某一条件;不延迟
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_Any()
InBlock.gif        {
InBlock.gif                
bool b = (from a
in _ary
InBlock.gif                                    select a).Any(p => p.Length > 10);
InBlock.gif
InBlock.gif                result.InnerHtml += b.ToString() +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
True
All - 判断集合中是否所有元素都满足某一条件;不延迟
InBlock.gif
/// <summary>
InBlock.gif        
/// All - 判断集合中是否所有元素都满足某一条件;不延迟
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_All()
InBlock.gif        {
InBlock.gif                
bool b = (from a
in _ary
InBlock.gif                                    select a).All(p => p.Length > 10);
InBlock.gif
InBlock.gif                result.InnerHtml += b.ToString() +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
False
Count - 返回集合中的元素个数,返回int;不延迟
LongCount - 返回集合中的元素个数,返回long;不延迟
/// <summary>
InBlock.gif        
/// Count - 返回集合中的元素个数,返回int;不延迟
InBlock.gif        
/// LongCount - 返回集合中的元素个数,返回long;不延迟
InBlock.gif        
/// </summary>
InBlock.gif        
void Summary_Count_LongCount()
InBlock.gif        {
InBlock.gif                
int i = (from a
in _ary
InBlock.gif                                 select a).Count(p => p.Length > 10);
InBlock.gif                
// long i = (from a in _ary
InBlock.gif                
//                     select a).LongCount(p => p.Length > 10);
InBlock.gif
InBlock.gif                result.InnerHtml += i.ToString() +
"<br />";
InBlock.gif                result.InnerHtml +=
"<br />";
InBlock.gif        }
 
运行结果
2
 
OK
 

本文出自 “” 博客,请务必保留此出处

转载地址:http://ufzmx.baihongyu.com/

你可能感兴趣的文章
我的助理辞职了!
查看>>
iptables防火墙
查看>>
从零开始安装Android Studio并快速配置SDK的方法
查看>>
使用jmx监控tigase状态简单说明
查看>>
软件嘉年华OpenCTF Reverse第一题解答
查看>>
gulp前端自动化构建工具使用
查看>>
想要做一名android开发人员···
查看>>
linux ACL权限的使用
查看>>
C#基础知识面试题
查看>>
[陶冶情操]想你是一种美
查看>>
python中协程
查看>>
magic_quotes_runtime 的作用
查看>>
出问题是好事。
查看>>
git clean用法
查看>>
061.Linux查看SAS 6/iR卡的信息工具-lsiutil
查看>>
mysql 源码安装
查看>>
hive查询hdfs数据时,遇到的两个hadoop配置问题
查看>>
HTML5游戏开发经验及开发工具分享
查看>>
hadoop及hbase集群增加节点
查看>>
理解 HashMap 加载因子 loadFactor
查看>>