Enumerable.ToLookup Enumerable.ToLookup Enumerable.ToLookup Enumerable.ToLookup Method

정의

제네릭 만듭니다 Lookup<TKey,TElement> 에서 IEnumerable<T>합니다.Creates a generic Lookup<TKey,TElement> from an IEnumerable<T>.

오버로드

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정 된 키 선택기와 요소 선택기 함수에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to specified key selector and element selector functions.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정된 된 키 선택기 함수, 비교자 및 요소 선택기 함수에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to a specified key selector function, a comparer and an element selector function.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정 된 키 선택기 함수에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to a specified key selector function.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정 된 키 선택기 함수와 키 비교자에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to a specified key selector function and key comparer.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정 된 키 선택기와 요소 선택기 함수에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to specified key selector and element selector functions.

public:
generic <typename TSource, typename TKey, typename TElement>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ILookup<TKey, TElement> ^ ToLookup(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, Func<TSource, TElement> ^ elementSelector);
public static System.Linq.ILookup<TKey,TElement> ToLookup<TSource,TKey,TElement> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, Func<TSource,TElement> elementSelector);
static member ToLookup : seq<'Source> * Func<'Source, 'Key> * Func<'Source, 'Element> -> System.Linq.ILookup<'Key, 'Element>
<Extension()>
Public Function ToLookup(Of TSource, TKey, TElement) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), elementSelector As Func(Of TSource, TElement)) As ILookup(Of TKey, TElement)

형식 매개 변수

TSource

source 요소의 형식입니다.The type of the elements of source.

TKey

가 반환한 키의 형식 keySelector합니다.The type of the key returned by keySelector.

TElement

반환한 값 형식의 elementSelector합니다.The type of the value returned by elementSelector.

매개 변수

source
IEnumerable<TSource>

합니다 IEnumerable<T> 만들려면를 Lookup<TKey,TElement> 에서 합니다.The IEnumerable<T> to create a Lookup<TKey,TElement> from.

keySelector
Func<TSource,TKey>

각 요소에서 키를 추출하는 함수입니다.A function to extract a key from each element.

elementSelector
Func<TSource,TElement>

각 요소를 사용하여 결과 요소 값을 생성할 변형 함수입니다.A transform function to produce a result element value from each element.

반환

입력 시퀀스에서 선택한 TElement 형식 값이 포함된 Lookup<TKey,TElement>입니다.A Lookup<TKey,TElement> that contains values of type TElement selected from the input sequence.

예외

source, keySelector 또는 elementSelectornull인 경우source or keySelector or elementSelector is null.

예제

다음 코드 예제에 사용 하는 방법을 보여 줍니다 ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) 만들려면는 Lookup<TKey,TElement> 키 선택기 함수 및 요소 선택기 함수를 사용 하 여 합니다.The following code example demonstrates how to use ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) to create a Lookup<TKey,TElement> by using a key selector function and an element selector function.

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
    public long TrackingNumber { get; set; }
}

public static void ToLookupEx1()
{
    // Create a list of Packages.
    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 
    // as the element values of the Lookup.
    ILookup<char, string> lookup =
        packages
        .ToLookup(p => Convert.ToChar(p.Company.Substring(0, 1)),
                  p => p.Company + " " + p.TrackingNumber);

    // Iterate through each IGrouping in the Lookup.
    foreach (IGrouping<char, string> packageGroup in lookup)
    {
        // Print the key value of the IGrouping.
        Console.WriteLine(packageGroup.Key);
        // Iterate through each value in the 
        // IGrouping and print its value.
        foreach (string str in packageGroup)
            Console.WriteLine("    {0}", str);
    }
}

/*
 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
*/
Structure Package
    Public Company As String
    Public Weight As Double
    Public TrackingNumber As Long
End Structure

Sub ToLookupEx1()
    ' Create a list of Packages.
    Dim packages As New 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 Lookup to organize the packages. 
    ' Use the first character of Company as the key value.
    ' Select Company appended to TrackingNumber 
    ' as the element values of the Lookup.
    Dim lookup 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 IGrouping in the Lookup.
    For Each packageGroup As IGrouping(Of Char, String) In lookup
        ' Print the key value of the IGrouping.
        output.AppendLine(packageGroup.Key)
        ' Iterate through each value in the IGrouping and print its value.
        For Each str As String In packageGroup
            output.AppendLine("   " & str)
        Next
    Next

    ' Select a group of packages by indexing directly into the Lookup.
    Dim cgroup As IEnumerable(Of String) = lookup("C"c)

    output.AppendLine(vbCrLf & "Packages from Company names that start with 'C':")
    For Each str As String In cgroup
        output.AppendLine(str)
    Next

    ' Display the output.
    MsgBox(output.ToString())
End Sub

' 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
'
' Packages from Company names that start with 'C':
' Coho Vineyard 89453312
' Contoso Pharmaceuticals 670053128

설명

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) 메서드가 반환 되는 Lookup<TKey,TElement>,-일대다 매핑하는 사전에 키 값의 컬렉션을 합니다.The ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) method returns a Lookup<TKey,TElement>, a one-to-many dictionary that maps keys to collections of values. A Lookup<TKey,TElement> 에서 다른는 Dictionary<TKey,TValue>, 단일 값 키의 일대일 매핑을 수행 하는 합니다.A Lookup<TKey,TElement> differs from a Dictionary<TKey,TValue>, which performs a one-to-one mapping of keys to single values.

기본 같음 비교자를 Default 키를 비교 하는 데 사용 됩니다.The default equality comparer Default is used to compare keys.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정된 된 키 선택기 함수, 비교자 및 요소 선택기 함수에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to a specified key selector function, a comparer and an element selector function.

public:
generic <typename TSource, typename TKey, typename TElement>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ILookup<TKey, TElement> ^ ToLookup(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, Func<TSource, TElement> ^ elementSelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Linq.ILookup<TKey,TElement> ToLookup<TSource,TKey,TElement> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, Func<TSource,TElement> elementSelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
static member ToLookup : seq<'Source> * Func<'Source, 'Key> * Func<'Source, 'Element> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.ILookup<'Key, 'Element>
<Extension()>
Public Function ToLookup(Of TSource, TKey, TElement) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), elementSelector As Func(Of TSource, TElement), comparer As IEqualityComparer(Of TKey)) As ILookup(Of TKey, TElement)

형식 매개 변수

TSource

source 요소의 형식입니다.The type of the elements of source.

TKey

가 반환한 키의 형식 keySelector합니다.The type of the key returned by keySelector.

TElement

반환한 값 형식의 elementSelector합니다.The type of the value returned by elementSelector.

매개 변수

source
IEnumerable<TSource>

합니다 IEnumerable<T> 만들려면를 Lookup<TKey,TElement> 에서 합니다.The IEnumerable<T> to create a Lookup<TKey,TElement> from.

keySelector
Func<TSource,TKey>

각 요소에서 키를 추출하는 함수입니다.A function to extract a key from each element.

elementSelector
Func<TSource,TElement>

각 요소를 사용하여 결과 요소 값을 생성할 변형 함수입니다.A transform function to produce a result element value from each element.

comparer
IEqualityComparer<TKey>

키를 비교할 IEqualityComparer<T>입니다.An IEqualityComparer<T> to compare keys.

반환

입력 시퀀스에서 선택한 TElement 형식 값이 포함된 Lookup<TKey,TElement>입니다.A Lookup<TKey,TElement> that contains values of type TElement selected from the input sequence.

예외

source, keySelector 또는 elementSelectornull인 경우source or keySelector or elementSelector is null.

설명

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) 메서드가 반환 되는 Lookup<TKey,TElement>,-일대다 매핑하는 사전에 키 값의 컬렉션을 합니다.The ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) method returns a Lookup<TKey,TElement>, a one-to-many dictionary that maps keys to collections of values. A Lookup<TKey,TElement> 에서 다른는 Dictionary<TKey,TValue>, 단일 값 키의 일대일 매핑을 수행 하는 합니다.A Lookup<TKey,TElement> differs from a Dictionary<TKey,TValue>, which performs a one-to-one mapping of keys to single values.

하는 경우 comparer 됩니다 null, 기본 같음 비교자를 Default 키를 비교 하는 데 사용 됩니다.If comparer is null, the default equality comparer Default is used to compare keys.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정 된 키 선택기 함수에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to a specified key selector function.

public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ILookup<TKey, TSource> ^ ToLookup(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector);
public static System.Linq.ILookup<TKey,TSource> ToLookup<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector);
static member ToLookup : seq<'Source> * Func<'Source, 'Key> -> System.Linq.ILookup<'Key, 'Source>
<Extension()>
Public Function ToLookup(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey)) As ILookup(Of TKey, TSource)

형식 매개 변수

TSource

source 요소의 형식입니다.The type of the elements of source.

TKey

가 반환한 키의 형식 keySelector합니다.The type of the key returned by keySelector.

매개 변수

source
IEnumerable<TSource>

합니다 IEnumerable<T> 만들려면를 Lookup<TKey,TElement> 에서 합니다.The IEnumerable<T> to create a Lookup<TKey,TElement> from.

keySelector
Func<TSource,TKey>

각 요소에서 키를 추출하는 함수입니다.A function to extract a key from each element.

반환

ILookup<TKey,TSource>

Lookup<TKey,TElement> 키 및 값을 포함 하는 합니다.A Lookup<TKey,TElement> that contains keys and values.

예외

source 또는 keySelectornull인 경우source or keySelector is null.

설명

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) 메서드가 반환 되는 Lookup<TKey,TElement>,-일대다 매핑하는 사전에 키 값의 컬렉션을 합니다.The ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) method returns a Lookup<TKey,TElement>, a one-to-many dictionary that maps keys to collections of values. A Lookup<TKey,TElement> 에서 다른는 Dictionary<TKey,TValue>, 단일 값 키의 일대일 매핑을 수행 하는 합니다.A Lookup<TKey,TElement> differs from a Dictionary<TKey,TValue>, which performs a one-to-one mapping of keys to single values.

기본 같음 비교자를 Default 키를 비교 하는 데 사용 됩니다.The default equality comparer Default is used to compare keys.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

만듭니다는 Lookup<TKey,TElement> 에서 IEnumerable<T> 지정 된 키 선택기 함수와 키 비교자에 따라 합니다.Creates a Lookup<TKey,TElement> from an IEnumerable<T> according to a specified key selector function and key comparer.

public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ILookup<TKey, TSource> ^ ToLookup(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Linq.ILookup<TKey,TSource> ToLookup<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
static member ToLookup : seq<'Source> * Func<'Source, 'Key> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.ILookup<'Key, 'Source>
<Extension()>
Public Function ToLookup(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), comparer As IEqualityComparer(Of TKey)) As ILookup(Of TKey, TSource)

형식 매개 변수

TSource

source 요소의 형식입니다.The type of the elements of source.

TKey

가 반환한 키의 형식 keySelector합니다.The type of the key returned by keySelector.

매개 변수

source
IEnumerable<TSource>

합니다 IEnumerable<T> 만들려면를 Lookup<TKey,TElement> 에서 합니다.The IEnumerable<T> to create a Lookup<TKey,TElement> from.

keySelector
Func<TSource,TKey>

각 요소에서 키를 추출하는 함수입니다.A function to extract a key from each element.

comparer
IEqualityComparer<TKey>

키를 비교할 IEqualityComparer<T>입니다.An IEqualityComparer<T> to compare keys.

반환

ILookup<TKey,TSource>

Lookup<TKey,TElement> 키 및 값을 포함 하는 합니다.A Lookup<TKey,TElement> that contains keys and values.

예외

source 또는 keySelectornull인 경우source or keySelector is null.

설명

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) 메서드가 반환 되는 Lookup<TKey,TElement>,-일대다 매핑하는 사전에 키 값의 컬렉션을 합니다.The ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) method returns a Lookup<TKey,TElement>, a one-to-many dictionary that maps keys to collections of values. A Lookup<TKey,TElement> 다릅니다는 Dictionary<TKey,TValue>, 단일 값 키의 일대일 매핑을 수행 하는 합니다.A Lookup<TKey,TElement> is different to a Dictionary<TKey,TValue>, which performs a one-to-one mapping of keys to single values.

하는 경우 comparer 됩니다 null, 기본 같음 비교자를 Default 키를 비교 하는 데 사용 됩니다.If comparer is null, the default equality comparer Default is used to compare keys.

적용 대상