Wednesday, January 2, 2013

IEnumerable Interface


IEnumerable<T> Interface

.NET Framework 4.5
1 out of 2 rated this helpful Rate this topic
Exposes the enumerator, which supports a simple iteration over a collection of a specified type.
Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

public interface IEnumerable<out T> : IEnumerable

Type Parameters

outT
The type of objects to enumerate.
This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
The IEnumerable<T> type exposes the following members.

NameDescription
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetEnumerator()Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.)
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetEnumerator()Returns an enumerator that iterates through the collection.
Top

NameDescription
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAggregate<TSource>(Func<TSource, TSource, TSource>)Overloaded. Applies an accumulator function over a sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAggregate<TSource, TAccumulate>(TAccumulate, Func<TAccumulate, TSource, TAccumulate>)Overloaded. Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAggregate<TSource, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>)Overloaded. Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAll<TSource>Determines whether all elements of a sequence satisfy a condition. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAncestors<T>()Overloaded. Returns a collection of elements that contains the ancestors of every node in the source collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAncestors<T>(XName)Overloaded. Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Only elements that have a matching XName are included in the collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAny<TSource>()Overloaded. Determines whether a sequence contains any elements. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAny<TSource>(Func<TSource, Boolean>)Overloaded. Determines whether any element of a sequence satisfies a condition. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAsEnumerable<TSource>Returns the input typed as IEnumerable<T>. (Defined by Enumerable.)
Public Extension MethodSupported by Portable Class LibrarySupported in .NET for Windows Store appsAsParallel()Overloaded. Enables parallelization of a query. (Defined byParallelEnumerable.)
Public Extension MethodSupported by Portable Class LibrarySupported in .NET for Windows Store appsAsParallel<TSource>()Overloaded. Enables parallelization of a query. (Defined byParallelEnumerable.)
Public Extension MethodSupported by Portable Class LibrarySupported in .NET for Windows Store appsAsQueryable()Overloaded. Converts an IEnumerable to an IQueryable. (Defined byQueryable.)
Public Extension MethodSupported by Portable Class LibrarySupported in .NET for Windows Store appsAsQueryable<TElement>()Overloaded. Converts a generic IEnumerable<T> to a generic IQueryable<T>.(Defined by Queryable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Decimal>)Overloaded. Computes the average of a sequence of Decimal values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Nullable<Decimal>>)Overloaded. Computes the average of a sequence of nullable Decimal values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Double>)Overloaded. Computes the average of a sequence of Double values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Nullable<Double>>)Overloaded. Computes the average of a sequence of nullable Double values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Int32>)Overloaded. Computes the average of a sequence of Int32 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Nullable<Int32>>)Overloaded. Computes the average of a sequence of nullable Int32 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Int64>)Overloaded. Computes the average of a sequence of Int64 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Nullable<Int64>>)Overloaded. Computes the average of a sequence of nullable Int64 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Single>)Overloaded. Computes the average of a sequence of Single values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAverage<TSource>(Func<TSource, Nullable<Single>>)Overloaded. Computes the average of a sequence of nullable Single values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCast<TResult>Casts the elements of an IEnumerable to the specified type. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsConcat<TSource>Concatenates two sequences. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsContains<TSource>(TSource)Overloaded. Determines whether a sequence contains a specified element by using the default equality comparer. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsContains<TSource>(TSource, IEqualityComparer<TSource>)Overloaded. Determines whether a sequence contains a specified element by using a specified IEqualityComparer<T>. (Defined by Enumerable.)
Public Extension MethodCopyToDataTable<T>()Overloaded. Returns a DataTable that contains copies of the DataRowobjects, given an input IEnumerable<T> object where the generic parameterT is DataRow. (Defined by DataTableExtensions.)
Public Extension MethodCopyToDataTable<T>(DataTable, LoadOption)Overloaded. Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.(Defined by DataTableExtensions.)
Public Extension MethodCopyToDataTable<T>(DataTable, LoadOption, FillErrorEventHandler)Overloaded. Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.(Defined by DataTableExtensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCount<TSource>()Overloaded. Returns the number of elements in a sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCount<TSource>(Func<TSource, Boolean>)Overloaded. Returns a number that represents how many elements in the specified sequence satisfy a condition. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDefaultIfEmpty<TSource>()Overloaded. Returns the elements of the specified sequence or the type parameter's default value in a singleton collection if the sequence is empty.(Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDefaultIfEmpty<TSource>(TSource)Overloaded. Returns the elements of the specified sequence or the specified value in a singleton collection if the sequence is empty. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDescendantNodes<T>Returns a collection of the descendant nodes of every document and element in the source collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDescendants<T>()Overloaded. Returns a collection of elements that contains the descendant elements of every element and document in the source collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDescendants<T>(XName)Overloaded. Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Only elements that have a matching XName are included in the collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDistinct<TSource>()Overloaded. Returns distinct elements from a sequence by using the default equality comparer to compare values. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDistinct<TSource>(IEqualityComparer<TSource>)Overloaded. Returns distinct elements from a sequence by using a specifiedIEqualityComparer<T> to compare values. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsElementAt<TSource>Returns the element at a specified index in a sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsElementAtOrDefault<TSource>Returns the element at a specified index in a sequence or a default value if the index is out of range. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsElements<T>()Overloaded. Returns a collection of the child elements of every element and document in the source collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsElements<T>(XName)Overloaded. Returns a filtered collection of the child elements of every element and document in the source collection. Only elements that have a matching XName are included in the collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsExcept<TSource>(IEnumerable<TSource>)Overloaded. Produces the set difference of two sequences by using the default equality comparer to compare values. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsExcept<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)Overloaded. Produces the set difference of two sequences by using the specified IEqualityComparer<T> to compare values. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFirst<TSource>()Overloaded. Returns the first element of a sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFirst<TSource>(Func<TSource, Boolean>)Overloaded. Returns the first element in a sequence that satisfies a specified condition. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFirstOrDefault<TSource>()Overloaded. Returns the first element of a sequence, or a default value if the sequence contains no elements. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFirstOrDefault<TSource>(Func<TSource, Boolean>)Overloaded. Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey>(Func<TSource, TKey>)Overloaded. Groups the elements of a sequence according to a specified key selector function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey>(Func<TSource, TKey>, IEqualityComparer<TKey>)Overloaded. Groups the elements of a sequence according to a specified key selector function and compares the keys by using a specified comparer.(Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>)Overloaded. Groups the elements of a sequence according to a specified key selector function and projects the elements for each group by using a specified function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey, TResult>(Func<TSource, TKey>, Func<TKey, IEnumerable<TSource>, TResult>)Overloaded. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key.(Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)Overloaded. Groups the elements of a sequence according to a key selector function. The keys are compared by using a comparer and each group's elements are projected by using a specified function. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey, TResult>(Func<TSource, TKey>, Func<TKey, IEnumerable<TSource>, TResult>, IEqualityComparer<TKey>)Overloaded. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The keys are compared by using a specified comparer. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey, TElement, TResult>(Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)Overloaded. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The elements of each group are projected by using a specified function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupBy<TSource, TKey, TElement, TResult>(Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)Overloaded. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. Key values are compared by using a specified comparer, and the elements of each group are projected by using a specified function. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)Overloaded. Correlates the elements of two sequences based on equality of keys and groups the results. The default equality comparer is used to compare keys. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)Overloaded. Correlates the elements of two sequences based on key equality and groups the results. A specified IEqualityComparer<T> is used to compare keys. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsInDocumentOrder<T>Returns a collection of nodes that contains all nodes in the source collection, sorted in document order. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsIntersect<TSource>(IEnumerable<TSource>)Overloaded. Produces the set intersection of two sequences by using the default equality comparer to compare values. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsIntersect<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)Overloaded. Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)Overloaded. Correlates the elements of two sequences based on matching keys. The default equality comparer is used to compare keys. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)Overloaded. Correlates the elements of two sequences based on matching keys. A specified IEqualityComparer<T> is used to compare keys. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLast<TSource>()Overloaded. Returns the last element of a sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLast<TSource>(Func<TSource, Boolean>)Overloaded. Returns the last element of a sequence that satisfies a specified condition. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLastOrDefault<TSource>()Overloaded. Returns the last element of a sequence, or a default value if the sequence contains no elements. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLastOrDefault<TSource>(Func<TSource, Boolean>)Overloaded. Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLongCount<TSource>()Overloaded. Returns an Int64 that represents the total number of elements in a sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLongCount<TSource>(Func<TSource, Boolean>)Overloaded. Returns an Int64 that represents how many elements in a sequence satisfy a condition. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>()Overloaded. Returns the maximum value in a generic sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Decimal>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Decimal value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Nullable<Decimal>>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Decimal value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Double>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Double value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Nullable<Double>>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Double value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Int32>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Int32 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Nullable<Int32>>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Int32 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Int64>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Int64 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Nullable<Int64>>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Int64 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Single>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Single value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource>(Func<TSource, Nullable<Single>>)Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Single value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax<TSource, TResult>(Func<TSource, TResult>)Overloaded. Invokes a transform function on each element of a generic sequence and returns the maximum resulting value. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>()Overloaded. Returns the minimum value in a generic sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Decimal>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Decimal value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Nullable<Decimal>>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Decimal value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Double>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Double value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Nullable<Double>>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Double value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Int32>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Int32 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Nullable<Int32>>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Int32 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Int64>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Int64 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Nullable<Int64>>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Int64 value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Single>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Single value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource>(Func<TSource, Nullable<Single>>)Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Single value. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin<TSource, TResult>(Func<TSource, TResult>)Overloaded. Invokes a transform function on each element of a generic sequence and returns the minimum resulting value. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsNodes<T>Returns a collection of the child nodes of every document and element in the source collection. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsOfType<TResult>Filters the elements of an IEnumerable based on a specified type. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsOrderBy<TSource, TKey>(Func<TSource, TKey>)Overloaded. Sorts the elements of a sequence in ascending order according to a key. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsOrderBy<TSource, TKey>(Func<TSource, TKey>, IComparer<TKey>)Overloaded. Sorts the elements of a sequence in ascending order by using a specified comparer. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsOrderByDescending<TSource, TKey>(Func<TSource, TKey>)Overloaded. Sorts the elements of a sequence in descending order according to a key. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsOrderByDescending<TSource, TKey>(Func<TSource, TKey>, IComparer<TKey>)Overloaded. Sorts the elements of a sequence in descending order by using a specified comparer. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsRemove<T>Removes every node in the source collection from its parent node. (Defined by Extensions.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsReverse<TSource>Inverts the order of the elements in a sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSelect<TSource, TResult>(Func<TSource, TResult>)Overloaded. Projects each element of a sequence into a new form. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSelect<TSource, TResult>(Func<TSource, Int32, TResult>)Overloaded. Projects each element of a sequence into a new form by incorporating the element's index. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSelectMany<TSource, TResult>(Func<TSource, IEnumerable<TResult>>)Overloaded. Projects each element of a sequence to an IEnumerable<T> and flattens the resulting sequences into one sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSelectMany<TSource, TResult>(Func<TSource, Int32, IEnumerable<TResult>>)Overloaded. Projects each element of a sequence to an IEnumerable<T>, and flattens the resulting sequences into one sequence. The index of each source element is used in the projected form of that element. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSelectMany<TSource, TCollection, TResult>(Func<TSource, Int32, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)Overloaded. Projects each element of a sequence to an IEnumerable<T>, flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. The index of each source element is used in the intermediate projected form of that element. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSelectMany<TSource, TCollection, TResult>(Func<TSource, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)Overloaded. Projects each element of a sequence to an IEnumerable<T>, flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSequenceEqual<TSource>(IEnumerable<TSource>)Overloaded. Determines whether two sequences are equal by comparing the elements by using the default equality comparer for their type. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSequenceEqual<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)Overloaded. Determines whether two sequences are equal by comparing their elements by using a specified IEqualityComparer<T>. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSingle<TSource>()Overloaded. Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSingle<TSource>(Func<TSource, Boolean>)Overloaded. Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.(Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSingleOrDefault<TSource>()Overloaded. Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSingleOrDefault<TSource>(Func<TSource, Boolean>)Overloaded. Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSkip<TSource>Bypasses a specified number of elements in a sequence and then returns the remaining elements. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSkipWhile<TSource>(Func<TSource, Boolean>)Overloaded. Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSkipWhile<TSource>(Func<TSource, Int32, Boolean>)Overloaded. Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. The element's index is used in the logic of the predicate function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Decimal>)Overloaded. Computes the sum of the sequence of Decimal values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Nullable<Decimal>>)Overloaded. Computes the sum of the sequence of nullable Decimal values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Double>)Overloaded. Computes the sum of the sequence of Double values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Nullable<Double>>)Overloaded. Computes the sum of the sequence of nullable Double values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Int32>)Overloaded. Computes the sum of the sequence of Int32 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Nullable<Int32>>)Overloaded. Computes the sum of the sequence of nullable Int32 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Int64>)Overloaded. Computes the sum of the sequence of Int64 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Nullable<Int64>>)Overloaded. Computes the sum of the sequence of nullable Int64 values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Single>)Overloaded. Computes the sum of the sequence of Single values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSum<TSource>(Func<TSource, Nullable<Single>>)Overloaded. Computes the sum of the sequence of nullable Single values that are obtained by invoking a transform function on each element of the input sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsTake<TSource>Returns a specified number of contiguous elements from the start of a sequence. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsTakeWhile<TSource>(Func<TSource, Boolean>)Overloaded. Returns elements from a sequence as long as a specified condition is true. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsTakeWhile<TSource>(Func<TSource, Int32, Boolean>)Overloaded. Returns elements from a sequence as long as a specified condition is true. The element's index is used in the logic of the predicate function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToArray<TSource>Creates an array from a IEnumerable<T>. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToDictionary<TSource, TKey>(Func<TSource, TKey>)Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T>according to a specified key selector function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToDictionary<TSource, TKey>(Func<TSource, TKey>, IEqualityComparer<TKey>)Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T>according to a specified key selector function and key comparer. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToDictionary<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>)Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T>according to specified key selector and element selector functions. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToDictionary<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T>according to a specified key selector function, a comparer, and an element selector function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToList<TSource>Creates a List<T> from an IEnumerable<T>. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToLookup<TSource, TKey>(Func<TSource, TKey>)Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T>according to a specified key selector function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToLookup<TSource, TKey>(Func<TSource, TKey>, IEqualityComparer<TKey>)Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T>according to a specified key selector function and key comparer. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToLookup<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>)Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T>according to specified key selector and element selector functions. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToLookup<TSource, TKey, TElement>(Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T>according to a specified key selector function, a comparer and an element selector function. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsUnion<TSource>(IEnumerable<TSource>)Overloaded. Produces the set union of two sequences by using the default equality comparer. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsUnion<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)Overloaded. Produces the set union of two sequences by using a specifiedIEqualityComparer<T>. (Defined by Enumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWhere<TSource>(Func<TSource, Boolean>)Overloaded. Filters a sequence of values based on a predicate. (Defined byEnumerable.)
Public Extension MethodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWhere<TSource>(Func<TSource, Int32, Boolean>)Overloaded. Filters a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function. (Defined by Enumerable.)
Public Extension MethodSupported by Portable Class LibrarySupported in .NET for Windows Store appsZip<TFirst, TSecond, TResult>Merges two sequences by using the specified predicate function. (Defined byEnumerable.)
Top

Many interfaces and classes in the System.Collections.Generic namespace inherit the IEnumerable<T> interface to implement enumerators. For an example, see the ICollection<T> interface.
Notes to Implementers
IEnumerable<T> is included for parity with non-generic collections; implementing IEnumerable<T> allows a generic collection to be passed to a method that expects an IEnumerable object.

Friday, December 28, 2012

LINQ - Grouping Operators


Introduction

This sample shows different uses of Conversion Operators:
  • ToArray
  • ToList
  • ToDictionary
  • OfType

Description

ToArray


This sample uses ToArray to immediately evaluate a sequence into an array.
C#
public void Linq54()
{
    double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
 
    var sortedDoubles =
        from d in doubles
        orderby d descending
        select d;
    var doublesArray = sortedDoubles.ToArray();
 
    Console.WriteLine("Every other double from highest to lowest:");
    for (int d = 0; d < doublesArray.Length; d += 2)
    {
        Console.WriteLine(doublesArray[d]);
    }
}
Result
Every other double from highest to lowest:
4.1
2.3
1.7

ToList


This sample uses ToList to immediately evaluate a sequence into a List<T>.
C#
public void Linq55()
{
    string[] words = { "cherry", "apple", "blueberry" };
 
    var sortedWords =
        from w in words
        orderby w
        select w;
    var wordList = sortedWords.ToList();
 
    Console.WriteLine("The sorted word list:");
    foreach (var w in wordList)
    {
        Console.WriteLine(w);
    }
}
Result
The sorted word list:
apple
blueberry
cherry

ToDictionary


This sample uses ToDictionary to immediately evaluate a sequence and a related key expression into a dictionary.

C#
public void Linq56()
{
    var scoreRecords = new[] { new {Name = "Alice", Score = 50},
                                new {Name = "Bob"  , Score = 40},
                                new {Name = "Cathy", Score = 45}
                            };
 
    var scoreRecordsDict = scoreRecords.ToDictionary(sr => sr.Name);
 
    Console.WriteLine("Bob's score: {0}", scoreRecordsDict["Bob"]);
}
Result
Bob's score: { Name = Bob, Score = 40 }

OfType


This sample uses OfType to return only the elements of the array that are of type double.

C#
public void Linq57()
{
    object[] numbers = { null, 1.0, "two", 3, "four", 5, "six", 7.0 };
 
    var doubles = numbers.OfType<double>();
 
    Console.WriteLine("Numbers stored as doubles:");
    foreach (var d in doubles)
    {
        Console.WriteLine(d);
    }
}
Result
Numbers stored as doubles:
1
7

LINQ - Aggregate Operators


Introduction

This sample shows different uses of Aggregate Operators:
  • Count - Simple
  • Count - Conditional
  • Count - Nested
  • Count - Grouped
  • Sum - Simple
  • Sum - Projection
  • Sum - Grouped
  • Min - Simple
  • Min - Projection
  • Min - Grouped
  • Min - Elements
  • Max - Simple
  • Max - Projection
  • Max - Grouped
  • Max - Elements
  • Average - Simple
  • Average - Projection
  • Average - Grouped
  • Aggregate - Simple
  • Aggregate - Seed


Description

Count - Simple  

This sample uses Count to get the number of unique factors of 300.
C#
public void Linq73()
{
    int[] factorsOf300 = { 2, 2, 3, 5, 5 };
 
    int uniqueFactors = factorsOf300.Distinct().Count();
 
    Console.WriteLine("There are {0} unique factors of 300.", uniqueFactors);
}
 Result
There are 3 unique factors of 300.

Count - Conditional


This sample uses Count to get the number of odd ints in the array.
C#
public void Linq74()
{
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 
    int oddNumbers = numbers.Count(n => n % 2 == 1);
 
    Console.WriteLine("There are {0} odd numbers in the list.", oddNumbers);
}
Result
There are 5 odd numbers in the list.

Count - Nested


This sample uses Count to return a list of customers and how many orders each has.
C#
public void Linq76()
{
    List<Customer> customers = GetCustomerList();
 
    var orderCounts =
        from c in customers
        select new { c.CustomerID, OrderCount = c.Orders.Count() };
 
    ObjectDumper.Write(orderCounts);
}
Result
CustomerID=ALFKI
CustomerID=ANATR
CustomerID=ANTON
CustomerID=AROUT
CustomerID=BERGS
CustomerID=BLAUS
CustomerID=BLONP
CustomerID=BOLID
CustomerID=BONAP
CustomerID=BOTTM
CustomerID=BSBEV
CustomerID=CACTU
CustomerID=CENTC
CustomerID=CHOPS
CustomerID=COMMI
CustomerID=CONSH
CustomerID=DRACD
CustomerID=DUMON
CustomerID=EASTC
CustomerID=ERNSH
CustomerID=FAMIA
CustomerID=FISSA
CustomerID=FOLIG
CustomerID=FOLKO
CustomerID=FRANK
CustomerID=FRANR
CustomerID=FRANS
CustomerID=FURIB
CustomerID=GALED
CustomerID=GODOS
CustomerID=GOURL
CustomerID=GREAL
CustomerID=GROSR
CustomerID=HANAR
CustomerID=HILAA
CustomerID=HUNGC
CustomerID=HUNGO
CustomerID=ISLAT
CustomerID=KOENE
CustomerID=LACOR
CustomerID=LAMAI
CustomerID=LAUGB
CustomerID=LAZYK
CustomerID=LEHMS
CustomerID=LETSS
CustomerID=LILAS
CustomerID=LINOD
CustomerID=LONEP
CustomerID=MAGAA
CustomerID=MAISD
CustomerID=MEREP
CustomerID=MORGK
CustomerID=NORTS
CustomerID=OCEAN
CustomerID=OLDWO
CustomerID=OTTIK
CustomerID=PARIS
CustomerID=PERIC
CustomerID=PICCO
CustomerID=PRINI
CustomerID=QUEDE
CustomerID=QUEEN
CustomerID=QUICK
CustomerID=RANCH
CustomerID=RATTC
CustomerID=REGGC
CustomerID=RICAR
CustomerID=RICSU
CustomerID=ROMEY
CustomerID=SANTG
CustomerID=SAVEA
CustomerID=SEVES
CustomerID=SIMOB
CustomerID=SPECD
CustomerID=SPLIR
CustomerID=SUPRD
CustomerID=THEBI
CustomerID=THECR
CustomerID=TOMSP
CustomerID=TORTU
CustomerID=TRADH
CustomerID=TRAIH
CustomerID=VAFFE
CustomerID=VICTE
CustomerID=VINET
CustomerID=WANDK
CustomerID=WARTH
CustomerID=WELLI
CustomerID=WHITC
CustomerID=WILMK
CustomerID=WOLZA
OrderCount=6
OrderCount=4
OrderCount=7
OrderCount=13
OrderCount=18
OrderCount=7
OrderCount=11
OrderCount=3
OrderCount=17
OrderCount=14
OrderCount=10
OrderCount=6
OrderCount=1
OrderCount=8
OrderCount=5
OrderCount=3
OrderCount=6
OrderCount=4
OrderCount=8
OrderCount=30
OrderCount=7
OrderCount=0
OrderCount=5
OrderCount=19
OrderCount=15
OrderCount=3
OrderCount=6
OrderCount=8
OrderCount=5
OrderCount=10
OrderCount=9
OrderCount=11
OrderCount=2
OrderCount=14
OrderCount=18
OrderCount=5
OrderCount=19
OrderCount=10
OrderCount=14
OrderCount=4
OrderCount=14
OrderCount=3
OrderCount=2
OrderCount=15
OrderCount=4
OrderCount=14
OrderCount=12
OrderCount=8
OrderCount=10
OrderCount=7
OrderCount=13
OrderCount=5
OrderCount=3
OrderCount=5
OrderCount=10
OrderCount=9
OrderCount=0
OrderCount=6
OrderCount=10
OrderCount=6
OrderCount=9
OrderCount=13
OrderCount=28
OrderCount=5
OrderCount=18
OrderCount=12
OrderCount=11
OrderCount=10
OrderCount=5
OrderCount=6
OrderCount=31
OrderCount=9
OrderCount=7
OrderCount=4
OrderCount=9
OrderCount=12
OrderCount=4
OrderCount=3
OrderCount=5
OrderCount=10
OrderCount=7
OrderCount=3
OrderCount=11
OrderCount=10
OrderCount=4
OrderCount=10
OrderCount=15
OrderCount=9
OrderCount=14
OrderCount=8
OrderCount=7

Count - Grouped


This sample uses Count to return a list of categories and how many products each has.
C#
public void Linq77()
{
    List<Product> products = GetProductList();
 
    var categoryCounts =
        from p in products
        group p by p.Category into g
        select new { Category = g.Key, ProductCount = g.Count() };
 
    ObjectDumper.Write(categoryCounts
}
Result
Category=Beverages
Category=Condiments
Category=Produce
Category=Meat/Poultry
Category=Seafood
Category=Dairy Products
Category=Confections
Category=Grains/Cereals
ProductCount=12
ProductCount=12
ProductCount=5
ProductCount=6
ProductCount=12
ProductCount=10
ProductCount=13
ProductCount=7

Sum - Simple


This sample uses Sum to get the total of the numbers in an array.
C#
public void Linq78()
{
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 
    double numSum = numbers.Sum();
 
    Console.WriteLine("The sum of the numbers is {0}.", numSum);
}
 Result
The sum of the numbers is 45.

Sum - Projection


This sample uses Sum to get the total number of characters of all words in the array.
C#
public void Linq79()
{
    string[] words = { "cherry", "apple", "blueberry" };
 
    double totalChars = words.Sum(w => w.Length);
 
    Console.WriteLine("There are a total of {0} characters in these words.", totalChars);
}
Result
There are a total of 20 characters in these words.

Sum - Grouped


This sample uses Sum to get the total units in stock for each product category.
C#
public void Linq80()
{
    List<Product> products = GetProductList();
 
    var categories =
        from p in products
        group p by p.Category into g
        select new { Category = g.Key, TotalUnitsInStock = g.Sum(p => p.UnitsInStock) };
 
    ObjectDumper.Write(categories);
}
Result
Category=Beverages
Category=Condiments
Category=Produce
Category=Meat/Poultry
Category=Seafood
Category=Dairy Products
Category=Confections
Category=Grains/Cereals
TotalUnitsInStock=559
TotalUnitsInStock=507
TotalUnitsInStock=100
TotalUnitsInStock=165
TotalUnitsInStock=701
TotalUnitsInStock=393
TotalUnitsInStock=386
TotalUnitsInStock=308

Min - Simple


This sample uses Min to get the lowest number in an array.
C#
public void Linq81()
{
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 
    int minNum = numbers.Min();
 
    Console.WriteLine("The minimum number is {0}.", minNum);
}
Result
The minimum number is 0.

Min - Projection


This sample uses Min to get the length of the shortest word in an array.
C#
public void Linq82()
{
    string[] words = { "cherry", "apple", "blueberry" };
 
    int shortestWord = words.Min(w => w.Length);
 
    Console.WriteLine("The shortest word is {0} characters long.", shortestWord);
}
Result
The shortest word is 5 characters long.

Min - Grouped


This sample uses Min to get the cheapest price among each category's products.
C#
public void Linq83()
{
    List<Product> products = GetProductList();
 
    var categories =
        from p in products
        group p by p.Category into g
        select new { Category = g.Key, CheapestPrice = g.Min(p => p.UnitPrice) };
 
    ObjectDumper.Write(categories);
}
Result
Category=Beverages
Category=Condiments
Category=Produce
Category=Meat/Poultry
Category=Seafood
Category=Dairy Products
Category=Confections
Category=Grains/Cereals
CheapestPrice=4.5000
CheapestPrice=10.0000
CheapestPrice=10.0000
CheapestPrice=7.4500
CheapestPrice=6.0000
CheapestPrice=2.5000
CheapestPrice=9.2000
CheapestPrice=7.0000

Min - Elements


This sample uses Min to get the products with the cheapest price in each category.
C#
public void Linq84()
{
    List<Product> products = GetProductList();
 
    var categories =
        from p in products
        group p by p.Category into g
        let minPrice = g.Min(p => p.UnitPrice)
        select new { Category = g.Key, CheapestProducts = g.Where(p => p.UnitPrice == minPrice) };
 
    ObjectDumper.Write(categories, 1);
}
Result
Category=Beverages      CheapestProducts=...
  CheapestProducts: ProductID=24  ProductName=Guaraná Fantástica  Category=Beverages      UnitPrice=4.5000        UnitsInStock=20
Category=Condiments    CheapestProducts=...
  CheapestProducts: ProductID=3  ProductName=Aniseed Syrup      Category=Condiments    UnitPrice=10.0000      UnitsInStock=13
Category=Produce        CheapestProducts=...
  CheapestProducts: ProductID=74  ProductName=Longlife Tofu      Category=Produce        UnitPrice=10.0000      UnitsInStock=4
Category=Meat/Poultry  CheapestProducts=...
  CheapestProducts: ProductID=54  ProductName=Tourtière  Category=Meat/Poultry  UnitPrice=7.4500        UnitsInStock=21
Category=Seafood        CheapestProducts=...
  CheapestProducts: ProductID=13  ProductName=Konbu      Category=Seafood        UnitPrice=6.0000        UnitsInStock=24
Category=Dairy Products        CheapestProducts=...
  CheapestProducts: ProductID=33  ProductName=Geitost    Category=Dairy Products        UnitPrice=2.5000        UnitsInStock=112
Category=Confections    CheapestProducts=...
  CheapestProducts: ProductID=19  ProductName=Teatime Chocolate Biscuits  Category=Confections    UnitPrice=9.2000        UnitsInStock=25
Category=Grains/Cereals        CheapestProducts=...
  CheapestProducts: ProductID=52  ProductName=Filo Mix    Category=Grains/Cereals        UnitPrice=7.0000        UnitsInStock=38

Max - Simple


This sample uses Max to get the highest number in an array.
C#
public void Linq85()
{
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 
    int maxNum = numbers.Max();
 
    Console.WriteLine("The maximum number is {0}.", maxNum);
}
Result
The maximum number is 9.

Max - Projection


This sample uses Max to get the length of the longest word in an array.
C#
public void Linq86()
{
    string[] words = { "cherry", "apple", "blueberry" };
 
    int longestLength = words.Max(w => w.Length);
 
    Console.WriteLine("The longest word is {0} characters long.", longestLength);
}
Result
The longest word is 9 characters long.

Max - Grouped


This sample uses Max to get the most expensive price among each category's products.
C#
public void Linq87()
{
    List<Product> products = GetProductList();
 
    var categories =
        from p in products
        group p by p.Category into g
        select new { Category = g.Key, MostExpensivePrice = g.Max(p => p.UnitPrice) };
 
    ObjectDumper.Write(categories);
}
Result
Category=Beverages
Category=Condiments
Category=Produce
Category=Meat/Poultry
Category=Seafood
Category=Dairy Products
Category=Confections
Category=Grains/Cereals
MostExpensivePrice=263.5000
MostExpensivePrice=43.9000
MostExpensivePrice=53.0000
MostExpensivePrice=123.7900
MostExpensivePrice=62.5000
MostExpensivePrice=55.0000
MostExpensivePrice=81.0000
MostExpensivePrice=38.0000

Max - Elements


This sample uses Max to get the products with the most expensive price in each category.
C#
public void Linq88()
{
    List<Product> products = GetProductList();
 
    var categories =
        from p in products
        group p by p.Category into g
        let maxPrice = g.Max(p => p.UnitPrice)
        select new { Category = g.Key, MostExpensiveProducts = g.Where(p => p.UnitPrice == maxPrice) };
 
    ObjectDumper.Write(categories, 1);
}
Result
Category=Beverages      MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=38    ProductName=Côte de Blaye      Category=Beverages      UnitPrice=263.5000      UnitsInStock=17
Category=Condiments    MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=63    ProductName=Vegie-spread        Category=Condiments    UnitPrice=43.9000      UnitsInStock=24
Category=Produce        MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=51    ProductName=Manjimup Dried Apples      Category=Produce        UnitPrice=53.0000      UnitsInStock=20
Category=Meat/Poultry  MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=29    ProductName=Thüringer Rostbratwurst    Category=Meat/Poultry  UnitPrice=123.7900      UnitsInStock=0
Category=Seafood        MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=18    ProductName=Carnarvon Tigers    Category=Seafood        UnitPrice=62.5000      UnitsInStock=42
Category=Dairy Products        MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=59    ProductName=Raclette Courdavault        Category=Dairy Products        UnitPrice=55.0000      UnitsInStock=79
Category=Confections    MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=20    ProductName=Sir Rodney's Marmalade      Category=Confections    UnitPrice=81.0000      UnitsInStock=40
Category=Grains/Cereals        MostExpensiveProducts=...
  MostExpensiveProducts: ProductID=56    ProductName=Gnocchi di nonna Alice      Category=Grains/Cereals        UnitPrice=38.0000      UnitsInStock=21

Average - Simple


This sample uses Average to get the average of all numbers in an array.
C#
public void Linq89()
{
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 
    double averageNum = numbers.Average();
 
    Console.WriteLine("The average number is {0}.", averageNum);
}
Result
The average number is 4.5.

Average - Projection


This sample uses Average to get the average length of the words in the array.
C#
public void Linq90()
{
    string[] words = { "cherry", "apple", "blueberry" };
 
    double averageLength = words.Average(w => w.Length);
 
    Console.WriteLine("The average word length is {0} characters.", averageLength);
}
Result
The average word length is 6.66666666666667 characters.

Average - Grouped


This sample uses Average to get the average price of each category's products.
C#
public void Linq91()
{
    List<Product> products = GetProductList();
 
    var categories =
        from p in products
        group p by p.Category into g
        select new { Category = g.Key, AveragePrice = g.Average(p => p.UnitPrice) };
 
    ObjectDumper.Write(categories);
}

Result

Category=Beverages
Category=Condiments
Category=Produce
Category=Meat/Poultry
Category=Seafood
Category=Dairy Products
Category=Confections
Category=Grains/Cereals
AveragePrice=37.979166666666666666666666667
AveragePrice=23.0625
AveragePrice=32.3700
AveragePrice=54.006666666666666666666666667
AveragePrice=20.6825
AveragePrice=28.7300
AveragePrice=25.1600
AveragePrice=20.2500

Aggregate - Simple


This sample uses Aggregate to create a running product on the array that calculates the total product of all elements.
C#
public void Linq92()
{
    double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
 
    double product = doubles.Aggregate((runningProduct, nextFactor) => runningProduct * nextFactor);
 
    Console.WriteLine("Total product of all numbers: {0}", product);
}

Result

Total product of all numbers: 88.33081

Aggregate - Seed


This sample uses Aggregate to create a running account balance that subtracts each withdrawal from the initial balance of 100, as long as the balance never drops below 0.
C#
public void Linq93()
{
    double startBalance = 100.0;
 
    int[] attemptedWithdrawals = { 20, 10, 40, 50, 10, 70, 30 };
 
    double endBalance =
        attemptedWithdrawals.Aggregate(startBalance,
            (balance, nextWithdrawal) =>
                ((nextWithdrawal <= balance) ? (balance - nextWithdrawal) : balance));
 
    Console.WriteLine("Ending balance: {0}", endBalance);
}

Result

Ending balance: 20

Code Formater

Paste Here Your Source Code
Source Code Formatting Options
1) Convert Tab into Space :
2) Need Line Code Numbering :
3) Remove blank lines :
4) Embeded styles / Stylesheet :
5) Code Block Width :
6) Code Block Height :
7) Alternative Background :
Copy Formatted Source Code
 
Preview Of Formatted Code