自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LINQ中IEnumerable<T>接口主要成員簡介

開發(fā) 后端
在LINQ中,數(shù)據(jù)源和查詢結(jié)果實(shí)際上都是IEnumerable<T>或IQueryable<T>類型對象,所以可以通過使用普通對象的形式(調(diào)用方法、使用屬性等)對數(shù)據(jù)源進(jìn)行查詢或使用查詢結(jié)果數(shù)據(jù)。

IEnumerable<T>接口主要功能是提供了大量與查詢相關(guān)的方法,雖然這些方法實(shí)際上是以擴(kuò)展方法的形式定義,但也不影響IEnumerable<T>接口的功能性。

1.IEnumerable<T>接口

IEnumerable<T>泛型接口支持在制定數(shù)據(jù)集合上進(jìn)行迭代操作。它定義了一組擴(kuò)展方法,用來對數(shù)據(jù)集合中的元素進(jìn)行遍歷、過濾、排序、搜索等操作。在LINQ中,數(shù)據(jù)源實(shí)際上是實(shí)現(xiàn)了接口IEnumerable<T>的類,通過select子句返回的查詢結(jié)果頁是一個(gè)實(shí)現(xiàn)了IEnumerable<T>的類。

在.NET類庫中,IEnumerable<T>接口提供了大量與查詢相關(guān)的方法。這些方法實(shí)際上是以擴(kuò)展方法的形式定義,但是由于它的作用類型也為IEnumerable<T>接口,所以使用上和成員方法很類似。

IEnumerable<T>接口主要成員

 成員

 功能

 Aggregate  對序列應(yīng)用累加器函數(shù),可以指定累加方法
 Sum

計(jì)算序列中所有元素的和,返回值有int、long、float、double、decimal類型,并且可以指定元素到數(shù)值的映射方法

 Average

計(jì)算序列中所有元素的平均值,返回值有int、long、float、double、decimal類型,并且可以指定元素到數(shù)值的映射方法

 Max  計(jì)算序列中所有元素的最大值,返回值有int、long、float、double、decimal類型,并且可以指定元素到數(shù)值的映射方法
 Min  計(jì)算序列中所有元素的最小值,返回值有int、long、float、double、decimal類型,并且可以指定元素到數(shù)值的映射方法
 All  檢查是否序列中所有元素都滿足條件,可以指定條件判斷方法。如果所有元素都滿足條件返回True,否則返回False
 Any  檢查序列中是否有任何一個(gè)元素滿足條件,可以指定條件的判斷方法。如果有一個(gè)以上(含一個(gè))元素滿足條件返回True,否則返回False
 Contains  檢查數(shù)據(jù)系列中是否包含特定的元素,可以指定相等比較方法
 Count  返回序列中滿足指定條件的元素的數(shù)量,可以指定條件判斷方法
 LongCount  返回序列中滿足指定條件的元素的長數(shù)量,可以指定條件判斷方法
 Cast  將IEnumerable中的元素轉(zhuǎn)換為指定的數(shù)據(jù)類型
 DefaultIfEmpty  返回序列中指定位置的元素。如果序列為空,則返回默認(rèn)的元素值
 ElementAt  返回序列中指定索引處的元素
 ElementAtOrDefault  返回序列中指定索引處的元素。如果序列為空,則返回默認(rèn)值
 First  返回序列中滿足指定條件的第一個(gè)元素,可以指定條件判斷方法
 FirstOrDefault  返回序列中滿足指定條件的第一個(gè)元素。如果不存在則返回默認(rèn)值,也可以指定條件判斷方法
 Last  返回序列中滿足指定條件的最后一個(gè)元素,可以指定條件判斷方法
 LastOrDefault  返回序列中滿足指定條件的最后一個(gè)元素。如果不存在則返回默認(rèn)值,也可以指定條件判斷方法
 Single  返回序列中滿足指定條件的唯一元素。如果不止一個(gè)元素滿足條件會引發(fā)一場,可以指定條件判斷方法
 SingleOrDefault 返回序列中滿足指定條件的唯一元素。如果不存在則返回默認(rèn)值,如果不止一個(gè)元素滿足條件會引發(fā)一場,可以指定條件判斷方法 
Reverse 反轉(zhuǎn)序列中元素的順序 
 Distinct 返回序列中不重復(fù)的元素的集合,可以指定相等比較方法 
 Concat 連接兩個(gè)序列,直接首尾相連。返回結(jié)果可能存在重復(fù)數(shù)據(jù) 
 Except 獲取兩個(gè)元素集合的差集,可以指定相等比較方法 
 Intersect  獲取兩個(gè)元素集合的交集,可以指定相等比較方法
 Union  獲取兩個(gè)元素集合的并集,可以指定相等比較方法

SequenceEqual

比較兩個(gè)序列是否相等,可以指定相等比較方法 
 Where 根據(jù)制定條件對集合中元素進(jìn)行篩選,返回滿足條件的元素集合 
 Skip 跳過序列中指定數(shù)量的元素,然后返回剩余的元素 
 SkipWhile 跳過序列中滿足指定條件的元素,然后返回剩余的元素,可以指定條件判斷方法 
 Take 從序列的開頭返回指定數(shù)量的連續(xù)元素 
 TakeWhile 返回從序列開始的滿足指定條件的連續(xù)元素,可以指定條件判斷方法 
 ToArray 從IEnumerable創(chuàng)建一個(gè)數(shù)組 
 ToList 從IEnumerable創(chuàng)建一個(gè)List 

從上表可以看出,IEnumerable提供的方法包括數(shù)值運(yùn)算(Sum、Min、Max、Average)、元素?cái)?shù)量(Count、LongCount)、取值(First、Last、ElementAt等)、提取子集(Skip、SkipWhile、Take、TakeWhile、)集合操作(Reverse、Concat、Distinct、Except、Intersect、Union、SequenceEqual等)。這些方法提供了LINQ所需要的所有操作。

注意:

IEnuerable繼承自IEnumerable接口,所以它也包含IEnumerable接口的所有方法,所以還包括Select()、SelectMany()、Repeat()等方法。

另外,IQuery接口從IEnumerable派生而來,通常也可以作為數(shù)據(jù)源使用,它的使用和IEnumerable類似。

本文來自Kevin博客園博文《IEnumerable接口主要成員

【編輯推薦】

  1. LINQ和ADO.NET技術(shù)概述
  2. LINQ查詢的目的與實(shí)現(xiàn)手段
  3. LINQ基礎(chǔ)概念總結(jié)
  4. LINQ查詢表達(dá)式功能詳解
  5. ADO.NET中的多數(shù)據(jù)表操作讀取
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2010-01-20 09:34:26

List<T>

2009-10-28 09:23:27

WF4.0 Beta2

2012-11-09 10:47:21

LINQ

2010-02-02 09:06:45

軟交換技術(shù)

2009-09-10 13:13:47

Linq Func<T

2009-08-13 11:39:02

LINQ to Dat

2009-09-08 09:37:03

LINQ重要組成部分

2014-12-08 10:39:15

2009-09-10 13:54:27

LINQ語法

2009-09-14 10:09:26

LINQ查詢結(jié)果

2009-08-31 17:02:28

C#接口編程

2010-01-06 17:03:45

Linux主要特點(diǎn)

2011-07-14 14:00:52

SQL Server固定數(shù)據(jù)庫角色

2009-08-03 18:26:18

C#定義接口成員

2021-01-13 08:10:26

接口IEnumeratorIEnumerable

2009-09-14 09:49:08

Linq擴(kuò)展函數(shù)

2009-08-18 17:39:16

Enumerable.

2009-09-02 14:26:50

C#對接口成員訪問

2009-09-14 15:50:52

Linq匿名委托類型

2009-09-15 17:16:58

LINQ查詢操作符
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號