LINQ系列:Linq to Object元素操作符
元素操作符从一个序列返回单个指定的元素。
1. DefaultIfEmpty
DefaultIfEmpty操作符将一个空集合替换为包含默认的单个值的集合。在返回序列为空且又需要返回一些对象时,可以通过该操作符返回一个默认值。
1>. 原型定义
public static IQueryable<TSource> DefaultIfEmpty<TSource>(this IQueryable<TSource> source);
public static IQueryable<TSource> DefaultIfEmpty<TSource>(this IQueryable<TSource> source, TSource defaultValue);
2>. 示例
var expr = from p in contex.Products
select p.ProductName; foreach (var item in expr.DefaultIfEmpty())
{
Console.WriteLine(item);
}
2. ElementAt
ElementAt操作符返回集合中给定索引处的元素。集合索引从0开始计的,返回值是数据源中指定位置的元素。
1>. 原型定义
public static TSource ElementAt<TSource>(this IEnumerable<TSource> source, int index);
2>. 示例
int[] fibonacci = new int[] { , , , , , , , };
fibonacci.ElementAt();
3. ElementAtOrDefault
ElementAtOrDefault操作符将ElementAt操作符和DefaultIfEmpty操作符的部分功能结合在一起,返回在指定索引处的元素。如果索引超出范围则返回默认值。
1>. 原型定义
public static TSource ElementAtOrDefault<TSource>(this IEnumerable<TSource> source, int index);
2>. 示例
int[] fibonacci = new int[] { , , , , , , , };
fibonacci.ElementAtOrDefault();
4. First
First操作符返回集合中的第一个元素,如果数据源不包含任何元素,此方法将抛出一个异常。
1>. 原型定义
public static TSource First<TSource>(this IQueryable<TSource> source);
public static TSource First<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
2>. 示例
var expr = context.Products.First();
var expr = context.Products.First(p => p.UnitPrice > 10m);
5. FirstOrDefault
FirstOrDefault操作符返回集合中的第一个元素,或者如果没有发现任何元素则返回默认值。
1>. 原型定义
public static TSource FirstOrDefault<TSource>(this IQueryable<TSource> source);
public static TSource FirstOrDefault<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
2>. 示例
var expr = context.Products.FirstOrDefault();
var expr = context.Products.FirstOrDefault(p => p.UnitPrice > 10m);
6. Last
Last操作符返回集合中的最后一个元素,如果数据源不包含任何元素,此方法将抛出一个异常。
1>. 原型定义
public static TSource Last<TSource>(this IQueryable<TSource> source);
public static TSource Last<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
2>. 示例
var expr = context.Products.Last();
var expr = context.Products.Last(p => p.UnitPrice > 10m);
7. LastOrDefault
LastOrDefault操作符返回集合中的最后一个元素,或者如果没有找到任何元素则返回一个默认值。
1>. 原型定义
public static TSource LastOrDefault<TSource>(this IQueryable<TSource> source);
public static TSource LastOrDefault<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
2>. 示例
var expr = context.Products.LastOrDefault();
var expr = context.Products.LastOrDefault(p => p.UnitPrice > 10m);
8. Single
Single操作符从一个序列中返回单个元素,或唯一满足指定条件的元素,如果数据源不包含任何元素,此方法将抛出一个异常。
1>. 原型定义
public static TSource Single<TSource>(this IQueryable<TSource> source);
public static TSource Single<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
2>. 示例
var expr = context.Products.Single();
var expr = context.Products.Single(p => p.UnitPrice > 10m);
9. SingleOrDefault
SingleOrDefault操作符从一个序列中返回单个元素,如果没有发现元素则返回一个默认值。
1>. 原型定义
public static TSource SingleOrDefault<TSource>(this IQueryable<TSource> source);
public static TSource SingleOrDefault<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
2>. 示例
var expr = context.Products.SingleOrDefault();
var expr = context.Products.SingleOrDefault(p => p.UnitPrice > 10m);
LINQ系列:Linq to Object元素操作符的更多相关文章
- LINQ系列目录
1. LINQ准备 1.1 C#中与LINQ相关特性 2. LINQ to Object 2.1 LINQ to Object投影操作符(Select/SelectMany/Let) 2.2 LINQ ...
- C# ~ 从 XML 到 Linq 到 Linq to XML
.XML 可扩展标记语言 (Extensible Markup Language), 标记 (markup) 是关键部分,是标准通用标记语言 (Standard Generalized Markup ...
- LINQ系列:Linq to Object集合操作符
集合操作符对元素的集合或序列集合进行操作,并返回一个集合.LINQ共有4种集合查询操作符:Distinct.Union.Intersect和Except. 1. Distinct Distinct操作 ...
- linq操作符:元素操作符
元素操作符仅返回一个元素. 一.Fitst操作符 First操作符将返回序列中的第一个元素.如果序列中不包含任何元素,则First<T>方法将引发异常.来看看First()方法的定义: 从 ...
- LinQ系列文章
温故而知新,想着系统再学习一次LinQ知识点,发现园子里有个非常棒的系列文章,所以Mark下来,方便以后查阅! 系列博客导航: LINQ之路系列博客导航 LINQ之路 1:LINQ介绍 LINQ之路 ...
- LINQ 系列
C#图解教程 第十九章 LINQ LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…w ...
- C# LINQ系列:LINQ to DataSet的DataTable操作 及 DataTable与Linq相互转换
LINQ to DataSet需要使用System.Core.dll.System.Data.dll和System.Data.DataSetExtensions.dll,在项目中添加引用System. ...
- Linq系列
LINQ 图解 Linq中的Select——投影 Linq学习资源 Expert C# 5.0中的Linq部分
- LINQ之LINQ to Objects(上)
LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. 1.LINQ体系结构 从上图可以看出,L ...
随机推荐
- 【转】Oracle索引的类型
数据库的应用类型分为 OLTP(OnLine Transaction Processing ,联机事务处理):OLTP是传统关系型数据库的主要应用,其主要面向基本的.日常的事务处理,例如银行交易. O ...
- .net工具
程序名称 作者 说明 文件结构与元数据查看看 AssemblyView1.0 可以查看.net平台下exe,dll源代码的类结构,比如变量,属性,函数,事件的定义. Anakrino 源代码开 ...
- A library of generic data structures
A library of generic data structures including a list, array, hashtable, deque etc.. https://github. ...
- HDU 2227 Find the nondecreasing subsequences (DP+树状数组+离散化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 Find the nondecreasing subsequences ...
- css单位:em,rem解释
em:所有浏览器都符合:1em=16px;1.具有继承性2.em的根元素是body,当设置了根元素的大小时,大小是定义的数字乘以根元素定义的大小值 rem:1rem=16pxrem不具有继承性,其根元 ...
- flash小游戏在Kongregate上线——BasketBall Master(篮球大师)
小游戏地址,欢迎上去留言评论.游戏完成度没有达到期望水平,只能算完成了核心玩法吧,一些其他构想来不及实现. BasketBall Master(篮球大师) 这个小游戏很早之前就基本做好了,只因有些细节 ...
- iOS单元格高度计算
// Created by mac on 16/6/29. // Copyright © 2016年 zcc. All rights reserved. // #import "HotCel ...
- 基于webdriver的jmeter性能测试-Eclipse+Selenium+JUnit生成jar包
续接 打开eclipse新建java项目,如下图所示: 输入项目名称后点击"完成"按钮,如下图所示: eclipse中新建一个java项目,如下图所示: 添加类库,如下图所示: 在 ...
- go中安装Beego不成功笔记
在go.Git等等之类的相关软件安装好了之后,便可以安装Beego. 1.开始的时候是由于网络限制,不能访问Github,这个还好说找VPNFQ... 2.之后的问题,在git Bash中输入go g ...
- canvas绘制简易时钟
时钟绘制的非常简易,但该有的都有了. 效果图如下, <!DOCTYPE html> <html> <head lang="en"> <me ...