本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

IEnumerable<T> 接口

 

公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。

若要浏览此类型的.NET Framework 源代码,请参阅 Reference Source

命名空间:   System.Collections.Generic
程序集:  mscorlib(位于 mscorlib.dll)

public interface IEnumerable<out T> : IEnumerable

类型参数

outT

要枚举的对象的类型。

名称说明
System_CAPS_pubmethodGetEnumerator()

返回一个循环访问集合的枚举器。

名称说明
System_CAPS_pubmethodAggregate<TSource>(Func<TSource, TSource, TSource>)

已重载。对一个序列应用累加器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodAggregate<TSource, TAccumulate>(TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

已重载。对一个序列应用累加器函数。 将指定的种子值用作累加器初始值。(由 Enumerable 定义。)

System_CAPS_pubmethodAggregate<TSource, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>)

已重载。对一个序列应用累加器函数。 将指定的种子值用作累加器的初始值,并使用指定的函数选择结果值。(由 Enumerable 定义。)

System_CAPS_pubmethodAll<TSource>(Func<TSource, Boolean>)

确定是否对序列中的所有元素都满足条件。(由 Enumerable 定义。)

System_CAPS_pubmethodAncestors<T>()

已重载。返回包含与源集合中的每个节点的上级元素的集合。(由 Extensions 定义。)

System_CAPS_pubmethodAncestors<T>(XName)

已重载。返回经过筛选的元素集合,其中包含对源集合中的每个节点的上级。 仅具有匹配的元素 XName 包括在集合中。(由 Extensions 定义。)

System_CAPS_pubmethodAny<TSource>()

已重载。确定序列是否包含任何元素。(由 Enumerable 定义。)

System_CAPS_pubmethodAny<TSource>(Func<TSource, Boolean>)

已重载。 确定序列中是否存在元素满足条件。 (由 Enumerable 定义。)

System_CAPS_pubmethodAsEnumerable<TSource>()

返回输入类型化为 IEnumerable<T>(由 Enumerable 定义。)

System_CAPS_pubmethodAsParallel<TSource>()

已重载。启用查询的并行化。(由 ParallelEnumerable 定义。)

System_CAPS_pubmethodAsQueryable<TElement>()

已重载。将转换泛型 IEnumerable<T> 于泛型 IQueryable<T>(由 Queryable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Decimal>)

已重载。计算序列的平均值 Decimal 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Double>)

已重载。计算序列的平均值 Double 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Int32>)

已重载。计算序列的平均值 Int32 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Int64>)

已重载。计算序列的平均值 Int64 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Nullable<Decimal>>)

已重载。可以为 null 的序列的平均值,计算 Decimal 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Nullable<Double>>)

已重载。可以为 null 的序列的平均值,计算 Double 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Nullable<Int32>>)

已重载。可以为 null 的序列的平均值,计算 Int32 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Nullable<Int64>>)

已重载。可以为 null 的序列的平均值,计算 Int64 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Nullable<Single>>)

已重载。可以为 null 的序列的平均值,计算 Single 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodAverage<TSource>(Func<TSource, Single>)

已重载。计算序列的平均值 Single 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodCast<TResult>()

将强制转换的元素 IEnumerable 为指定的类型。(由 Enumerable 定义。)

System_CAPS_pubmethodConcat<TSource>(IEnumerable<TSource>)

连接两个序列。(由 Enumerable 定义。)

System_CAPS_pubmethodContains<TSource>(TSource)

已重载。确定序列是否包含指定的元素使用的默认相等比较器。(由 Enumerable 定义。)

System_CAPS_pubmethodContains<TSource>(TSource, IEqualityComparer<TSource>)

已重载。确定序列是否使用指定的包含指定的元素 IEqualityComparer<T>(由 Enumerable 定义。)

System_CAPS_pubmethodCopyToDataTable<T>()

已重载。返回 DataTable ,其中包含的副本 DataRow 对象,给定输入 IEnumerable<T> 对象其中泛型参数 TDataRow(由 DataTableExtensions 定义。)

System_CAPS_pubmethodCopyToDataTable<T>(DataTable, LoadOption)

已重载。副本 DataRow 对象传递给指定 DataTable, ,给定输入 IEnumerable<T> 对象其中泛型参数 TDataRow(由 DataTableExtensions 定义。)

System_CAPS_pubmethodCopyToDataTable<T>(DataTable, LoadOption, FillErrorEventHandler)

已重载。副本 DataRow 对象传递给指定 DataTable, ,给定输入 IEnumerable<T> 对象其中泛型参数 TDataRow(由 DataTableExtensions 定义。)

System_CAPS_pubmethodCount<TSource>()

已重载。返回序列中的元素数。(由 Enumerable 定义。)

System_CAPS_pubmethodCount<TSource>(Func<TSource, Boolean>)

已重载。返回一个数字来表示多少个元素指定序列中的满足条件。(由 Enumerable 定义。)

System_CAPS_pubmethodDefaultIfEmpty<TSource>()

已重载。返回单一实例集合中指定的序列或类型参数的默认值的元素,如果序列为空。(由 Enumerable 定义。)

System_CAPS_pubmethodDefaultIfEmpty<TSource>(TSource)

已重载。返回单一实例集合中指定的序列或指定的值的元素,如果序列为空。(由 Enumerable 定义。)

System_CAPS_pubmethodDescendantNodes<T>()

返回源集合中的每个文档和元素的子代节点的集合。(由 Extensions 定义。)

System_CAPS_pubmethodDescendants<T>()

已重载。返回元素的集合,其中包含每个元素和文档与源集合中的子代元素。(由 Extensions 定义。)

System_CAPS_pubmethodDescendants<T>(XName)

已重载。返回经过筛选的元素集合,其中包含每个元素和文档与源集合中的子代元素。 仅具有匹配的元素 XName 包括在集合中。(由 Extensions 定义。)

System_CAPS_pubmethodDistinct<TSource>()

已重载。通过使用的默认相等比较器对值进行比较从序列返回非重复元素。(由 Enumerable 定义。)

System_CAPS_pubmethodDistinct<TSource>(IEqualityComparer<TSource>)

已重载。返回序列中通过使用指定的非重复元素 IEqualityComparer<T> 对值进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodElementAt<TSource>(Int32)

返回序列中的指定索引处的元素。(由 Enumerable 定义。)

System_CAPS_pubmethodElementAtOrDefault<TSource>(Int32)

返回序列中指定索引处的元素;如果索引超出范围,则返回默认值。(由 Enumerable 定义。)

System_CAPS_pubmethodElements<T>()

已重载。返回源集合中的每个元素和文档的元素的子集合。(由 Extensions 定义。)

System_CAPS_pubmethodElements<T>(XName)

已重载。源集合中返回经过筛选的子集合元素的每个元素和文档。 仅具有匹配的元素 XName 包括在集合中。(由 Extensions 定义。)

System_CAPS_pubmethodExcept<TSource>(IEnumerable<TSource>)

已重载。通过使用默认的相等比较器对值进行比较,生成两个序列的差集。(由 Enumerable 定义。)

System_CAPS_pubmethodExcept<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

已重载。使用指定的生成两个序列的差集 IEqualityComparer<T> 对值进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodFirst<TSource>()

已重载。返回一个序列的第一个元素。(由 Enumerable 定义。)

System_CAPS_pubmethodFirst<TSource>(Func<TSource, Boolean>)

已重载。返回序列中满足指定条件的第一个元素。(由 Enumerable 定义。)

System_CAPS_pubmethodFirstOrDefault<TSource>()

已重载。返回序列中的第一个元素;如果序列中不包含任何元素,则返回默认值。(由 Enumerable 定义。)

System_CAPS_pubmethodFirstOrDefault<TSource>(Func<TSource, Boolean>)

已重载。返回序列中满足条件的第一个元素;如果未找到这样的元素,则返回默认值。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey>(Func<TSource, TKey>)

已重载。根据指定的键选择器函数对序列的元素进行分组。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey>(Func<TSource, TKey>, IEqualityComparer<TKey>)

已重载。根据指定的键选择器函数并将进行比较的键使用指定的比较器对序列的元素进行分组。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>)

已重载。根据指定的键选择器函数和项目的元素的每个组通过使用指定的函数对序列的元素进行分组。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

已重载。根据键选择器函数对序列的元素进行分组。 通过使用比较器对键进行比较,并且通过使用指定的函数对每个组的元素进行投影。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey, TResult>(Func<TSource, TKey>, Func<TKey, IEnumerable<TSource>, TResult>)

已重载。根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey, TResult>(Func<TSource, TKey>, Func<TKey, IEnumerable<TSource>, TResult>, IEqualityComparer<TKey>)

已重载。根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值。 通过使用指定的比较器对键进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey, TElement, TResult>(Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)

已重载。根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值。 通过使用指定的函数对每个组的元素进行投影。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupBy<TSource, TKey, TElement, TResult>(Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

已重载。根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值。 通过使用指定的比较器对键值进行比较,并且通过使用指定的函数对每个组的元素进行投影。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)

已重载。基于键相等对两个序列的元素进行关联,并对结果进行分组。 使用默认的相等比较器对键进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodGroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

已重载。基于键相等对两个序列的元素进行关联,并对结果进行分组。 指定 IEqualityComparer<T> 用来对键进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodInDocumentOrder<T>()

返回包含按文档顺序排序的源集合中的所有节点的节点集合。(由 Extensions 定义。)

System_CAPS_pubmethodIntersect<TSource>(IEnumerable<TSource>)

已重载。通过使用的默认相等比较器对值进行比较,生成两个序列的交集。(由 Enumerable 定义。)

System_CAPS_pubmethodIntersect<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

已重载。使用指定的生成两个序列的交集IEqualityComparer<T>值进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)

已重载。基于匹配键对两个序列的元素关联。 使用默认的相等比较器对键进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)

已重载。基于匹配键对两个序列的元素关联。 指定 IEqualityComparer<T> 用来对键进行比较。(由 Enumerable 定义。)

System_CAPS_pubmethodLast<TSource>()

已重载。返回一个序列的最后一个元素。(由 Enumerable 定义。)

System_CAPS_pubmethodLast<TSource>(Func<TSource, Boolean>)

已重载。返回序列中满足指定条件的最后一个元素。(由 Enumerable 定义。)

System_CAPS_pubmethodLastOrDefault<TSource>()

已重载。返回序列中的最后一个元素;如果序列中不包含任何元素,则返回默认值。(由 Enumerable 定义。)

System_CAPS_pubmethodLastOrDefault<TSource>(Func<TSource, Boolean>)

已重载。返回序列中满足条件的最后一个元素;如果未找到这样的元素,则返回默认值。(由 Enumerable 定义。)

System_CAPS_pubmethodLongCount<TSource>()

已重载。返回Int64表示序列中的元素总数。(由 Enumerable 定义。)

System_CAPS_pubmethodLongCount<TSource>(Func<TSource, Boolean>)

已重载。返回 Int64 表示序列中的多少个元素满足条件。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>()

已重载。泛型序列中返回的最大值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Decimal>)

已重载。调用转换函数对序列的每个元素并返回最大 Decimal 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Double>)

已重载。调用转换函数对序列的每个元素并返回最大 Double 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Int32>)

已重载。调用转换函数对序列的每个元素并返回最大 Int32 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Int64>)

已重载。调用转换函数对序列的每个元素并返回最大 Int64 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Nullable<Decimal>>)

已重载。调用转换函数对序列的每个元素并返回最大可以为 null Decimal 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Nullable<Double>>)

已重载。调用转换函数对序列的每个元素并返回最大可以为 null Double 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Nullable<Int32>>)

已重载。调用转换函数对序列的每个元素并返回最大可以为 null Int32 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Nullable<Int64>>)

已重载。调用转换函数对序列的每个元素并返回最大可以为 null Int64 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Nullable<Single>>)

已重载。调用转换函数对序列的每个元素并返回最大可以为 null Single 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource>(Func<TSource, Single>)

已重载。调用转换函数对序列的每个元素并返回最大 Single 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMax<TSource, TResult>(Func<TSource, TResult>)

已重载。调用泛型序列的每个元素的转换函数并返回最大结果值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>()

已重载。泛型序列中返回的最小值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Decimal>)

已重载。调用转换函数对序列的每个元素,并返回所需的最低 Decimal 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Double>)

已重载。调用转换函数对序列的每个元素,并返回所需的最低 Double 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Int32>)

已重载。调用转换函数对序列的每个元素,并返回所需的最低 Int32 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Int64>)

已重载。调用转换函数对序列的每个元素,并返回所需的最低 Int64 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Nullable<Decimal>>)

已重载。调用转换函数对序列的每个元素,并返回最小值可以为 null Decimal 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Nullable<Double>>)

已重载。调用转换函数对序列的每个元素,并返回最小值可以为 null Double 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Nullable<Int32>>)

已重载。调用转换函数对序列的每个元素,并返回最小值可以为 null Int32 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Nullable<Int64>>)

已重载。调用转换函数对序列的每个元素,并返回最小值可以为 null Int64 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Nullable<Single>>)

已重载。调用转换函数对序列的每个元素,并返回最小值可以为 null Single 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource>(Func<TSource, Single>)

已重载。调用转换函数对序列的每个元素,并返回所需的最低 Single 值。(由 Enumerable 定义。)

System_CAPS_pubmethodMin<TSource, TResult>(Func<TSource, TResult>)

已重载。调用泛型序列的每个元素的转换函数,并返回最小的结果值。(由 Enumerable 定义。)

System_CAPS_pubmethodNodes<T>()

返回源集合中的每个文档和元素节点的子集合。(由 Extensions 定义。)

System_CAPS_pubmethodOfType<TResult>()

筛选的元素 IEnumerable 根据指定的类型。(由 Enumerable 定义。)

System_CAPS_pubmethodOrderBy<TSource, TKey>(Func<TSource, TKey>)

已重载。按根据某个键按升序对序列的元素进行排序。(由 Enumerable 定义。)

System_CAPS_pubmethodOrderBy<TSource, TKey>(Func<TSource, TKey>, IComparer<TKey>)

已重载。按使用指定的比较器按升序对序列的元素进行排序。(由 Enumerable 定义。)

System_CAPS_pubmethodOrderByDescending<TSource, TKey>(Func<TSource, TKey>)

已重载。按根据某个键按降序对序列的元素进行排序。(由 Enumerable 定义。)

System_CAPS_pubmethodOrderByDescending<TSource, TKey>(Func<TSource, TKey>, IComparer<TKey>)

已重载。使用指定的比较器按降序对序列的元素排序。(由 Enumerable 定义。)

System_CAPS_pubmethodRemove<T>()

已重载。从其父节点与源集合中删除每个节点。(由 Extensions 定义。)

System_CAPS_pubmethodReverse<TSource>()

反转序列中元素的顺序。(由 Enumerable 定义。)

System_CAPS_pubmethodSelect<TSource, TResult>(Func<TSource, TResult>)

已重载。将序列中的每个元素投影到新表单。(由 Enumerable 定义。)

System_CAPS_pubmethodSelect<TSource, TResult>(Func<TSource, Int32, TResult>)

已重载。通过合并元素的索引投影到一个新窗体的序列的每个元素。(由 Enumerable 定义。)

System_CAPS_pubmethodSelectMany<TSource, TResult>(Func<TSource, IEnumerable<TResult>>)

已重载。一个序列的每个元素投影 IEnumerable<T> 并将合并为一个序列将结果序列。(由 Enumerable 定义。)

System_CAPS_pubmethodSelectMany<TSource, TResult>(Func<TSource, Int32, IEnumerable<TResult>>)

已重载。一个序列的每个元素投影 IEnumerable<T>, ,并将合并为一个序列将结果序列。 每个源元素的索引用于该元素的投影表。(由 Enumerable 定义。)

System_CAPS_pubmethodSelectMany<TSource, TCollection, TResult>(Func<TSource, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)

已重载。一个序列的每个元素投影 IEnumerable<T>, 将平展为一个序列,将结果序列,其中调用结果选择器函数对每个元素。(由 Enumerable 定义。)

System_CAPS_pubmethodSelectMany<TSource, TCollection, TResult>(Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)

已重载。一个序列的每个元素投影 IEnumerable<T>, 将平展为一个序列,将结果序列,其中调用结果选择器函数对每个元素。 每个源元素的索引用于该元素的中间投影表。(由 Enumerable 定义。)

System_CAPS_pubmethodSequenceEqual<TSource>(IEnumerable<TSource>)

已重载。确定两个序列是否相等的元素进行比较通过使用相应类型的默认相等比较器。(由 Enumerable 定义。)

System_CAPS_pubmethodSequenceEqual<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

已重载。确定两个序列是否通过使用指定的比较它们的元素相等 IEqualityComparer<T>(由 Enumerable 定义。)

System_CAPS_pubmethodSingle<TSource>()

已重载。返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常。(由 Enumerable 定义。)

System_CAPS_pubmethodSingle<TSource>(Func<TSource, Boolean>)

已重载。返回序列中满足指定条件的唯一元素;如果有多个这样的元素存在,则会引发异常。(由 Enumerable 定义。)

System_CAPS_pubmethodSingleOrDefault<TSource>()

已重载。返回一个序列,或默认值的唯一元素,如果序列为空,则为如果序列中存在多个元素,则此方法将引发异常。(由 Enumerable 定义。)

System_CAPS_pubmethodSingleOrDefault<TSource>(Func<TSource, Boolean>)

已重载。返回序列中满足指定条件的唯一元素;如果这类元素不存在,则返回默认值;如果有多个元素满足该条件,此方法将引发异常。(由 Enumerable 定义。)

System_CAPS_pubmethodSkip<TSource>(Int32)

跳过指定的数量的序列中的元素,然后返回剩余元素。(由 Enumerable 定义。)

System_CAPS_pubmethodSkipWhile<TSource>(Func<TSource, Boolean>)

已重载。只要指定的条件为 true,然后返回剩余元素,跳过序列中的元素。(由 Enumerable 定义。)

System_CAPS_pubmethodSkipWhile<TSource>(Func<TSource, Int32, Boolean>)

已重载。只要指定的条件为 true,然后返回剩余元素,跳过序列中的元素。 将在谓词函数的逻辑中使用元素的索引。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Decimal>)

已重载。计算的序列的和 Decimal 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Double>)

已重载。计算的序列的和 Double 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Int32>)

已重载。计算的序列的和 Int32 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Int64>)

已重载。计算的序列的和 Int64 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Nullable<Decimal>>)

已重载。计算可以为 null 的序列的和 Decimal 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Nullable<Double>>)

已重载。计算可以为 null 的序列的和 Double 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Nullable<Int32>>)

已重载。计算可以为 null 的序列的和 Int32 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Nullable<Int64>>)

已重载。计算可以为 null 的序列的和 Int64 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Nullable<Single>>)

已重载。计算可以为 null 的序列的和 Single 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodSum<TSource>(Func<TSource, Single>)

已重载。计算的序列的和 Single 通过调用对输入序列中的每个元素的转换函数获得的值。(由 Enumerable 定义。)

System_CAPS_pubmethodTake<TSource>(Int32)

从序列的开头返回指定的数量的连续元素。(由 Enumerable 定义。)

System_CAPS_pubmethodTakeWhile<TSource>(Func<TSource, Boolean>)

已重载。返回序列中的元素,只要指定的条件为真。(由 Enumerable 定义。)

System_CAPS_pubmethodTakeWhile<TSource>(Func<TSource, Int32, Boolean>)

已重载。返回序列中的元素,只要指定的条件为真。 将在谓词函数的逻辑中使用元素的索引。(由 Enumerable 定义。)

System_CAPS_pubmethodToArray<TSource>()

创建一个数组,从 IEnumerable<T>(由 Enumerable 定义。)

System_CAPS_pubmethodToDictionary<TSource, TKey>(Func<TSource, TKey>)

已重载。创建 Dictionary<TKey, TValue>IEnumerable<T> 根据指定的键选择器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodToDictionary<TSource, TKey>(Func<TSource, TKey>, IEqualityComparer<TKey>)

已重载。创建 Dictionary<TKey, TValue>IEnumerable<T> 根据指定的键选择器函数和键比较器。(由 Enumerable 定义。)

System_CAPS_pubmethodToDictionary<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>)

已重载。创建 Dictionary<TKey, TValue>IEnumerable<T> 根据指定的键选择器和元素选择器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodToDictionary<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

已重载。创建 Dictionary<TKey, TValue>IEnumerable<T> 根据指定的键选择器函数、 比较器和元素选择器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodToList<TSource>()

创建 List<T>IEnumerable<T>(由 Enumerable 定义。)

System_CAPS_pubmethodToLookup<TSource, TKey>(Func<TSource, TKey>)

已重载。创建 Lookup<TKey, TElement>IEnumerable<T> 根据指定的键选择器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodToLookup<TSource, TKey>(Func<TSource, TKey>, IEqualityComparer<TKey>)

已重载。创建 Lookup<TKey, TElement>IEnumerable<T> 根据指定的键选择器函数和键比较器。(由 Enumerable 定义。)

System_CAPS_pubmethodToLookup<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>)

已重载。创建 Lookup<TKey, TElement>IEnumerable<T> 根据指定的键选择器和元素选择器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodToLookup<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

已重载。创建 Lookup<TKey, TElement>IEnumerable<T> 根据指定的键选择器函数、 比较和元素选择器函数。(由 Enumerable 定义。)

System_CAPS_pubmethodUnion<TSource>(IEnumerable<TSource>)

已重载。通过使用默认的相等比较器生成的两个序列的并集。(由 Enumerable 定义。)

System_CAPS_pubmethodUnion<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

已重载。使用指定的生成两个序列的并集 IEqualityComparer<T>(由 Enumerable 定义。)

System_CAPS_pubmethodWhere<TSource>(Func<TSource, Boolean>)

已重载。基于谓词筛选值序列。(由 Enumerable 定义。)

System_CAPS_pubmethodWhere<TSource>(Func<TSource, Int32, Boolean>)

已重载。基于谓词筛选值序列。 将在谓词函数的逻辑中使用每个元素的索引。(由 Enumerable 定义。)

System_CAPS_pubmethodZip<TFirst, TSecond, TResult>(IEnumerable<TSecond>, Func<TFirst, TSecond, TResult>)

适用于两个序列,生成的结果序列的相应元素指定的函数。(由 Enumerable 定义。)

System_CAPS_note说明

若要查看此类型的.NET Framework 源代码,请参阅 Reference Source 您可以浏览源代码、 下载脱机查看参考资料和调试; 在逐句通过源 (包括修补程序和更新)see instructions.

IEnumerable<T> 是集合中的基接口 System.Collections.Generic 命名空间,如 List<T>, ,Dictionary<TKey, TValue>, ,和 Stack<T> 和其他泛型集合,如 ObservableCollection<T>ConcurrentStack<T> 实现的集合 IEnumerable<T> 可以通过使用枚举 foreach 语句。 此接口的非泛型版本,请参阅 System.Collections.IEnumerable

此接口的非泛型版本,请参阅 System.Collections.IEnumerable

IEnumerable<T> 包含在实现此接口; 必须实现的单个方法 GetEnumerator, ,它将返回 IEnumerator<T> 对象。 返回 IEnumerator<T> 提供了通过公开来循环访问集合的能力 Current 属性。

实现函数说明:

IEnumerable<T> 包含有关与非泛型集合; 奇偶校验实现 IEnumerable<T> 允许要传递到需要的方法的泛型集合 IEnumerable 对象。

下面的示例演示如何实现 IEnumerable<T> 界面以及如何使用该实现创建一个 LINQ 查询。 当您实现 IEnumerable<T>, ,还必须实现 IEnumerator<T> 或对于仅限 C#,您可以使用 yield(C# 参考) 关键字。 实现 IEnumerator<T> 还要求 IDisposable 实现,您将在本示例中看到。

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

public class App
{
    // Excercise the Iterator and show that it's more
    // performant.
    public static void Main()
    {
        TestStreamReaderEnumerable();
        Console.WriteLine("---");
        TestReadingFile();
    }

    public static void TestStreamReaderEnumerable()
	{
		// Check the memory before the iterator is used.
		long memoryBefore = GC.GetTotalMemory(true);
      IEnumerable<String> stringsFound;
		// Open a file with the StreamReaderEnumerable and check for a string.
      try {
         stringsFound =
               from line in new StreamReaderEnumerable(@"c:\temp\tempFile.txt")
               where line.Contains("string to search for")
               select line;
         Console.WriteLine("Found: " + stringsFound.Count());
      }
      catch (FileNotFoundException) {
         Console.WriteLine(@"This example requires a file named C:\temp\tempFile.txt.");
         return;
      }

		// Check the memory after the iterator and output it to the console.
		long memoryAfter = GC.GetTotalMemory(false);
		Console.WriteLine("Memory Used With Iterator = \t"
            + string.Format(((memoryAfter - memoryBefore) / 1000).ToString(), "n") + "kb");
	}

    public static void TestReadingFile()
	{
		long memoryBefore = GC.GetTotalMemory(true);
      StreamReader sr;
      try {
         sr = File.OpenText("c:\\temp\\tempFile.txt");
      }
      catch (FileNotFoundException) {
         Console.WriteLine(@"This example requires a file named C:\temp\tempFile.txt.");
         return;
      }

        // Add the file contents to a generic list of strings.
		List<string> fileContents = new List<string>();
		while (!sr.EndOfStream) {
			fileContents.Add(sr.ReadLine());
		}

		// Check for the string.
		var stringsFound = 
            from line in fileContents
            where line.Contains("string to search for")
            select line;

        sr.Close();
        Console.WriteLine("Found: " + stringsFound.Count());

		// Check the memory after when the iterator is not used, and output it to the console.
		long memoryAfter = GC.GetTotalMemory(false);
		Console.WriteLine("Memory Used Without Iterator = \t" + 
            string.Format(((memoryAfter - memoryBefore) / 1000).ToString(), "n") + "kb");
	}
}

// A custom class that implements IEnumerable(T). When you implement IEnumerable(T), 
// you must also implement IEnumerable and IEnumerator(T).
public class StreamReaderEnumerable : IEnumerable<string>
{
    private string _filePath;
    public StreamReaderEnumerable(string filePath)
    {
        _filePath = filePath;
    }

    // Must implement GetEnumerator, which returns a new StreamReaderEnumerator.
    public IEnumerator<string> GetEnumerator()
    {
        return new StreamReaderEnumerator(_filePath);
    }

    // Must also implement IEnumerable.GetEnumerator, but implement as a private method.
    private IEnumerator GetEnumerator1()
    {
        return this.GetEnumerator();
    }
    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator1();
    }
}

// When you implement IEnumerable(T), you must also implement IEnumerator(T), 
// which will walk through the contents of the file one line at a time.
// Implementing IEnumerator(T) requires that you implement IEnumerator and IDisposable.
public class StreamReaderEnumerator : IEnumerator<string>
{
    private StreamReader _sr;
    public StreamReaderEnumerator(string filePath)
    {
        _sr = new StreamReader(filePath);
    }

    private string _current;
    // Implement the IEnumerator(T).Current publicly, but implement 
    // IEnumerator.Current, which is also required, privately.
    public string Current
    {

        get
        {
            if (_sr == null || _current == null)
            {
                throw new InvalidOperationException();
            }

            return _current;
        }
    }

    private object Current1
    {

        get { return this.Current; }
    }

    object IEnumerator.Current
    {
        get { return Current1; }
    }

    // Implement MoveNext and Reset, which are required by IEnumerator.
    public bool MoveNext()
    {
        _current = _sr.ReadLine();
        if (_current == null)
            return false;
        return true;
    }

    public void Reset()
    {
        _sr.DiscardBufferedData();
        _sr.BaseStream.Seek(0, SeekOrigin.Begin);
        _current = null;
    }

    // Implement IDisposable, which is also implemented by IEnumerator(T).
    private bool disposedValue = false;
    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (!this.disposedValue)
        {
            if (disposing)
            {
                // Dispose of managed resources.
            }
            _current = null;
            if (_sr != null) {
               _sr.Close();
               _sr.Dispose();
            }
        }

        this.disposedValue = true;
    }

     ~StreamReaderEnumerator()
    {
        Dispose(false);
    }
}
// This example displays output similar to the following:
//       Found: 2
//       Memory Used With Iterator =     33kb
//       ---
//       Found: 2
//       Memory Used Without Iterator =  206kb

For another C# example that demonstrates how to implement the T:System.Collections.Generic.IEnumerable`1 interface, see the Generics Samplehttp://code.msdn.microsoft.com/Generics-Sample-C-9b41a192/sourcecode?fileId=46476&pathId=1364935593. This sample uses the yield keyword instead of implementing T:System.Collections.Generic.IEnumerator`1.

通用 Windows 平台
自 8 起可用
.NET Framework
自 2.0 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
Windows Phone
自 8.1 起可用
返回页首
显示: