ILookup<TKey, TElement> Interface
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Defines an indexer, size property, and Boolean search method for data structures that map keys to IEnumerable<T> sequences of values.
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
Syntax
'Declaration
<DefaultMemberAttribute("Item")> _
Public Interface ILookup(Of TKey, TElement) _
Inherits IEnumerable(Of IGrouping(Of TKey, TElement)), _
IEnumerable
[DefaultMemberAttribute("Item")]
public interface ILookup<TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>>,
IEnumerable
Type Parameters
- TKey
The type of the keys in the ILookup<TKey, TElement>.
- TElement
The type of the elements in the IEnumerable<T> sequences that make up the values in the ILookup<TKey, TElement>.
The ILookup<TKey, TElement> type exposes the following members.
Properties
Name | Description | |
---|---|---|
Count | Gets the number of key/value collection pairs in the ILookup<TKey, TElement>. | |
Item | Gets the IEnumerable<T> sequence of values indexed by a specified key. |
Top
Methods
Name | Description | |
---|---|---|
Contains | Determines whether a specified key exists in the ILookup<TKey, TElement>. | |
GetEnumerator() | Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) | |
GetEnumerator() | Returns an enumerator that iterates through the collection. (Inherited from IEnumerable<T>.) |
Top
Extension Methods
Name | Description | |
---|---|---|
Aggregate<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, IGrouping<TKey, TElement>, IGrouping<TKey, TElement>>) | Overloaded. Applies an accumulator function over a sequence. (Defined by Enumerable.) | |
Aggregate<IGrouping<TKey, TElement>, TAccumulate>(TAccumulate, Func<TAccumulate, IGrouping<TKey, TElement>, TAccumulate>) | Overloaded. Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. (Defined by Enumerable.) | |
Aggregate<IGrouping<TKey, TElement>, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, IGrouping<TKey, TElement>, 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.) | |
All<IGrouping<TKey, TElement>> | Determines whether all elements of a sequence satisfy a condition. (Defined by Enumerable.) | |
Any<IGrouping<TKey, TElement>>() | Overloaded. Determines whether a sequence contains any elements. (Defined by Enumerable.) | |
Any<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Determines whether any element of a sequence satisfies a condition. (Defined by Enumerable.) | |
AsEnumerable<IGrouping<TKey, TElement>> | Returns the input typed as IEnumerable<T>. (Defined by Enumerable.) | |
AsQueryable() | Overloaded. Converts an IEnumerable to an IQueryable. (Defined by Queryable.) | |
AsQueryable<IGrouping<TKey, TElement>>() | Overloaded. Converts a generic IEnumerable<T> to a generic IQueryable<T>. (Defined by Queryable.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Average<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Cast<TResult> | Converts the elements of an IEnumerable to the specified type. (Defined by Enumerable.) | |
Concat<IGrouping<TKey, TElement>> | Concatenates two sequences. (Defined by Enumerable.) | |
Contains<IGrouping<TKey, TElement>>(IGrouping<TKey, TElement>) | Overloaded. Determines whether a sequence contains a specified element by using the default equality comparer. (Defined by Enumerable.) | |
Contains<IGrouping<TKey, TElement>>(IGrouping<TKey, TElement>, IEqualityComparer<IGrouping<TKey, TElement>>) | Overloaded. Determines whether a sequence contains a specified element by using a specified IEqualityComparer<T>. (Defined by Enumerable.) | |
Count<IGrouping<TKey, TElement>>() | Overloaded. Returns the number of elements in a sequence. (Defined by Enumerable.) | |
Count<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Returns a number that represents how many elements in the specified sequence satisfy a condition. (Defined by Enumerable.) | |
DefaultIfEmpty<IGrouping<TKey, TElement>>() | 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.) | |
DefaultIfEmpty<IGrouping<TKey, TElement>>(IGrouping<TKey, TElement>) | Overloaded. Returns the elements of the specified sequence or the specified value in a singleton collection if the sequence is empty. (Defined by Enumerable.) | |
Distinct<IGrouping<TKey, TElement>>() | Overloaded. Returns distinct elements from a sequence by using the default equality comparer to compare values. (Defined by Enumerable.) | |
Distinct<IGrouping<TKey, TElement>>(IEqualityComparer<IGrouping<TKey, TElement>>) | Overloaded. Returns distinct elements from a sequence by using a specified IEqualityComparer<T> to compare values. (Defined by Enumerable.) | |
ElementAt<IGrouping<TKey, TElement>> | Returns the element at a specified index in a sequence. (Defined by Enumerable.) | |
ElementAtOrDefault<IGrouping<TKey, TElement>> | Returns the element at a specified index in a sequence or a default value if the index is out of range. (Defined by Enumerable.) | |
Except<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>) | Overloaded. Produces the set difference of two sequences by using the default equality comparer to compare values. (Defined by Enumerable.) | |
Except<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>, IEqualityComparer<IGrouping<TKey, TElement>>) | Overloaded. Produces the set difference of two sequences by using the specified IEqualityComparer<T> to compare values. (Defined by Enumerable.) | |
First<IGrouping<TKey, TElement>>() | Overloaded. Returns the first element of a sequence. (Defined by Enumerable.) | |
First<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Returns the first element in a sequence that satisfies a specified condition. (Defined by Enumerable.) | |
FirstOrDefault<IGrouping<TKey, TElement>>() | Overloaded. Returns the first element of a sequence, or a default value if the sequence contains no elements. (Defined by Enumerable.) | |
FirstOrDefault<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. (Defined by Enumerable.) | |
GroupBy<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>) | Overloaded. Groups the elements of a sequence according to a specified key selector function. (Defined by Enumerable.) | |
GroupBy<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, 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.) | |
GroupBy<IGrouping<TKey, TElement>, TKey, TElement>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, 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.) | |
GroupBy<IGrouping<TKey, TElement>, TKey, TResult>(Func<IGrouping<TKey, TElement>, TKey>, Func<TKey, IEnumerable<IGrouping<TKey, 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. (Defined by Enumerable.) | |
GroupBy<IGrouping<TKey, TElement>, TKey, TElement>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, 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 by Enumerable.) | |
GroupBy<IGrouping<TKey, TElement>, TKey, TResult>(Func<IGrouping<TKey, TElement>, TKey>, Func<TKey, IEnumerable<IGrouping<TKey, 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. The keys are compared by using a specified comparer. (Defined by Enumerable.) | |
GroupBy<IGrouping<TKey, TElement>, TKey, TElement, TResult>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, 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.) | |
GroupBy<IGrouping<TKey, TElement>, TKey, TElement, TResult>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, 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 by Enumerable.) | |
GroupJoin<IGrouping<TKey, TElement>, TInner, TKey, TResult>(IEnumerable<TInner>, Func<IGrouping<TKey, TElement>, TKey>, Func<TInner, TKey>, Func<IGrouping<TKey, TElement>, 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.) | |
GroupJoin<IGrouping<TKey, TElement>, TInner, TKey, TResult>(IEnumerable<TInner>, Func<IGrouping<TKey, TElement>, TKey>, Func<TInner, TKey>, Func<IGrouping<TKey, TElement>, 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.) | |
Intersect<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>) | Overloaded. Produces the set intersection of two sequences by using the default equality comparer to compare values. (Defined by Enumerable.) | |
Intersect<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>, IEqualityComparer<IGrouping<TKey, TElement>>) | Overloaded. Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values. (Defined by Enumerable.) | |
Join<IGrouping<TKey, TElement>, TInner, TKey, TResult>(IEnumerable<TInner>, Func<IGrouping<TKey, TElement>, TKey>, Func<TInner, TKey>, Func<IGrouping<TKey, TElement>, TInner, TResult>) | Overloaded. Correlates the elements of two sequences based on matching keys. The default equality comparer is used to compare keys. (Defined by Enumerable.) | |
Join<IGrouping<TKey, TElement>, TInner, TKey, TResult>(IEnumerable<TInner>, Func<IGrouping<TKey, TElement>, TKey>, Func<TInner, TKey>, Func<IGrouping<TKey, TElement>, 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 by Enumerable.) | |
Last<IGrouping<TKey, TElement>>() | Overloaded. Returns the last element of a sequence. (Defined by Enumerable.) | |
Last<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Returns the last element of a sequence that satisfies a specified condition. (Defined by Enumerable.) | |
LastOrDefault<IGrouping<TKey, TElement>>() | Overloaded. Returns the last element of a sequence, or a default value if the sequence contains no elements. (Defined by Enumerable.) | |
LastOrDefault<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
LongCount<IGrouping<TKey, TElement>>() | Overloaded. Returns an Int64 that represents the total number of elements in a sequence. (Defined by Enumerable.) | |
LongCount<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Returns an Int64 that represents how many elements in a sequence satisfy a condition. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>() | Overloaded. Returns the maximum value in a generic sequence. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Decimal>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Decimal value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Double>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Double value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Int32>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Int32 value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Int32>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Int32 value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Int64>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Int64 value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Int64>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Int64 value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Single>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Single value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Single>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum nullable Single value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Double>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Double value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Decimal>) | Overloaded. Invokes a transform function on each element of a sequence and returns the maximum Decimal value. (Defined by Enumerable.) | |
Max<IGrouping<TKey, TElement>, TResult>(Func<IGrouping<TKey, TElement>, TResult>) | Overloaded. Invokes a transform function on each element of a generic sequence and returns the maximum resulting value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>() | Overloaded. Returns the minimum value in a generic sequence. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Decimal>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Decimal value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Double>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Double value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Int32>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Int32 value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Int32>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Int32 value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Int64>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Int64 value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Int64>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Int64 value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Single>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Single value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Nullable<Single>>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum nullable Single value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Double>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Double value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Decimal>) | Overloaded. Invokes a transform function on each element of a sequence and returns the minimum Decimal value. (Defined by Enumerable.) | |
Min<IGrouping<TKey, TElement>, TResult>(Func<IGrouping<TKey, TElement>, TResult>) | Overloaded. Invokes a transform function on each element of a generic sequence and returns the minimum resulting value. (Defined by Enumerable.) | |
OfType<TResult> | Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.) | |
OrderBy<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>) | Overloaded. Sorts the elements of a sequence in ascending order according to a key. (Defined by Enumerable.) | |
OrderBy<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>, IComparer<TKey>) | Overloaded. Sorts the elements of a sequence in ascending order by using a specified comparer. (Defined by Enumerable.) | |
OrderByDescending<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>) | Overloaded. Sorts the elements of a sequence in descending order according to a key. (Defined by Enumerable.) | |
OrderByDescending<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>, IComparer<TKey>) | Overloaded. Sorts the elements of a sequence in descending order by using a specified comparer. (Defined by Enumerable.) | |
Reverse<IGrouping<TKey, TElement>> | Inverts the order of the elements in a sequence. (Defined by Enumerable.) | |
Select<IGrouping<TKey, TElement>, TResult>(Func<IGrouping<TKey, TElement>, TResult>) | Overloaded. Projects each element of a sequence into a new form. (Defined by Enumerable.) | |
Select<IGrouping<TKey, TElement>, TResult>(Func<IGrouping<TKey, TElement>, Int32, TResult>) | Overloaded. Projects each element of a sequence into a new form by incorporating the element's index. (Defined by Enumerable.) | |
SelectMany<IGrouping<TKey, TElement>, TResult>(Func<IGrouping<TKey, TElement>, IEnumerable<TResult>>) | Overloaded. Projects each element of a sequence to an IEnumerable<T> and flattens the resulting sequences into one sequence. (Defined by Enumerable.) | |
SelectMany<IGrouping<TKey, TElement>, TResult>(Func<IGrouping<TKey, TElement>, 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 by Enumerable.) | |
SelectMany<IGrouping<TKey, TElement>, TCollection, TResult>(Func<IGrouping<TKey, TElement>, Int32, IEnumerable<TCollection>>, Func<IGrouping<TKey, TElement>, 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 by Enumerable.) | |
SelectMany<IGrouping<TKey, TElement>, TCollection, TResult>(Func<IGrouping<TKey, TElement>, IEnumerable<TCollection>>, Func<IGrouping<TKey, TElement>, 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.) | |
SequenceEqual<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>) | Overloaded. Determines whether two sequences are equal by comparing the elements by using the default equality comparer for their type. (Defined by Enumerable.) | |
SequenceEqual<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>, IEqualityComparer<IGrouping<TKey, TElement>>) | Overloaded. Determines whether two sequences are equal by comparing their elements by using a specified IEqualityComparer<T>. (Defined by Enumerable.) | |
Single<IGrouping<TKey, TElement>>() | Overloaded. Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. (Defined by Enumerable.) | |
Single<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
SingleOrDefault<IGrouping<TKey, TElement>>() | 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.) | |
SingleOrDefault<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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 by Enumerable.) | |
Skip<IGrouping<TKey, TElement>> | Bypasses a specified number of elements in a sequence and then returns the remaining elements. (Defined by Enumerable.) | |
SkipWhile<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. (Defined by Enumerable.) | |
SkipWhile<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Sum<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Take<IGrouping<TKey, TElement>> | Returns a specified number of contiguous elements from the start of a sequence. (Defined by Enumerable.) | |
TakeWhile<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Returns elements from a sequence as long as a specified condition is true. (Defined by Enumerable.) | |
TakeWhile<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
ToArray<IGrouping<TKey, TElement>> | Creates an array from a IEnumerable<T>. (Defined by Enumerable.) | |
ToDictionary<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>) | Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T> according to a specified key selector function. (Defined by Enumerable.) | |
ToDictionary<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>, IEqualityComparer<TKey>) | Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T> according to a specified key selector function and key comparer. (Defined by Enumerable.) | |
ToDictionary<IGrouping<TKey, TElement>, TKey, TElement>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, TElement>) | Overloaded. Creates a Dictionary<TKey, TValue> from an IEnumerable<T> according to specified key selector and element selector functions. (Defined by Enumerable.) | |
ToDictionary<IGrouping<TKey, TElement>, TKey, TElement>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, 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.) | |
ToList<IGrouping<TKey, TElement>> | Creates a List<T> from an IEnumerable<T>. (Defined by Enumerable.) | |
ToLookup<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>) | Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T> according to a specified key selector function. (Defined by Enumerable.) | |
ToLookup<IGrouping<TKey, TElement>, TKey>(Func<IGrouping<TKey, TElement>, TKey>, IEqualityComparer<TKey>) | Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T> according to a specified key selector function and key comparer. (Defined by Enumerable.) | |
ToLookup<IGrouping<TKey, TElement>, TKey, TElement>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, TElement>) | Overloaded. Creates a Lookup<TKey, TElement> from an IEnumerable<T> according to specified key selector and element selector functions. (Defined by Enumerable.) | |
ToLookup<IGrouping<TKey, TElement>, TKey, TElement>(Func<IGrouping<TKey, TElement>, TKey>, Func<IGrouping<TKey, TElement>, 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.) | |
Union<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>) | Overloaded. Produces the set union of two sequences by using the default equality comparer. (Defined by Enumerable.) | |
Union<IGrouping<TKey, TElement>>(IEnumerable<IGrouping<TKey, TElement>>, IEqualityComparer<IGrouping<TKey, TElement>>) | Overloaded. Produces the set union of two sequences by using a specified IEqualityComparer<T>. (Defined by Enumerable.) | |
Where<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, Boolean>) | Overloaded. Filters a sequence of values based on a predicate. (Defined by Enumerable.) | |
Where<IGrouping<TKey, TElement>>(Func<IGrouping<TKey, TElement>, 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.) | |
Zip<IGrouping<TKey, TElement>, TSecond, TResult> | Merges two sequences by using the specified predicate function. (Defined by Enumerable.) |
Top
Remarks
The type Lookup<TKey, TElement> implements the ILookup<TKey, TElement> interface.
The extension method ToLookup, which can be appended to the end of a LINQ query, returns an object of type ILookup<TKey, TElement>.
Examples
The following code example creates an ILookup<TKey, TElement> object and iterates through its contents.
Structure Package
Public Company As String
Public Weight As Double
Public TrackingNumber As Long
End Structure
Sub ExampleExample(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Create a list of Packages to put into an Example data structure.
Dim packages As New System.Collections.Generic.List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2, .TrackingNumber = 89453312L}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7, .TrackingNumber = 89112755L}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0, .TrackingNumber = 299456122L}, _
New Package With {.Company = "Contoso Pharmaceuticals", .Weight = 9.3, .TrackingNumber = 670053128L}, _
New Package With {.Company = "Wide World Importers", .Weight = 33.8, .TrackingNumber = 4665518773L}})
' Create a Example to organize the packages. Use the first character of Company as the key value.
' Select Company appended to TrackingNumber for each element value.
Dim packageLookup As ILOokup(Of Char, String) = _
packages.ToLookup(Function(p) Convert.ToChar(p.Company.Substring(0, 1)), _
Function(p) p.Company & " " & p.TrackingNumber)
Dim output As New System.Text.StringBuilder
' Iterate through each group in the Lookup and output the contents.
For Each packageGroup In packageLookup
' Print the key value.
output.AppendLine(packageGroup.Key)
' Iterate through each value in the group and output it.
For Each str As String In packageGroup
output.AppendLine(String.Format(" {0}", str))
Next
Next
' Display the output.
outputBlock.Text &= output.ToString() & vbCrLf
' This code produces the following output:
'
' C
' Coho Vineyard 89453312
' Contoso Pharmaceuticals 670053128
' L
' Lucerne Publishing 89112755
' W
' Wingtip Toys 299456122
' Wide World Importers 4665518773
End Sub
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
public long TrackingNumber { get; set; }
}
public static void ExampleExample(System.Windows.Controls.TextBlock outputBlock)
{
// Create a list of Packages to put into an Example data structure.
List<Package> packages = new List<Package> { new Package { Company = "Coho Vineyard", Weight = 25.2, TrackingNumber = 89453312L },
new Package { Company = "Lucerne Publishing", Weight = 18.7, TrackingNumber = 89112755L },
new Package { Company = "Wingtip Toys", Weight = 6.0, TrackingNumber = 299456122L },
new Package { Company = "Contoso Pharmaceuticals", Weight = 9.3, TrackingNumber = 670053128L },
new Package { Company = "Wide World Importers", Weight = 33.8, TrackingNumber = 4665518773L } };
// Create a Lookup to organize the packages. Use the first character of Company as the key value.
// Select Company appended to TrackingNumber for each element value in the Example object.
ILookup<char, string> packageLookup = packages.ToLookup(
p => Convert.ToChar(p.Company.Substring(0, 1)),
p => p.Company + " " + p.TrackingNumber
);
// Iterate through each value in the Example and output the contents.
foreach (var packageGroup in packageLookup)
{
// Print the key value.
outputBlock.Text += packageGroup.Key + "\n";
// Iterate through each value in the collection.
foreach (string str in packageGroup)
outputBlock.Text += String.Format(" {0}", str) + "\n";
}
// This code produces the following output:
//
// C
// Coho Vineyard 89453312
// Contoso Pharmaceuticals 670053128
// L
// Lucerne Publishing 89112755
// W
// Wingtip Toys 299456122
// Wide World Importers 4665518773
}
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.