Enumerable.ToLookup 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Lookup<TKey,TElement>을 사용하여 제네릭 IEnumerable<T>을 만듭니다.
오버로드
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
지정된 키 선택기와 요소 선택기 함수에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>를 만듭니다. |
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
지정된 키 선택기 함수, 비교자 및 요소 선택기 함수에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>을 만듭니다. |
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
지정된 키 선택기 함수와 키 비교자에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>를 만듭니다. |
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
지정된 키 선택기 함수에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>를 만듭니다. |
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)
- Source:
- Lookup.cs
- Source:
- Lookup.cs
- Source:
- Lookup.cs
지정된 키 선택기와 요소 선택기 함수에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>를 만듭니다.
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
요소의 형식입니다.
- TKey
keySelector
에서 반환하는 키의 형식입니다.
- TElement
elementSelector
에서 반환하는 값의 형식입니다.
매개 변수
- source
- IEnumerable<TSource>
IEnumerable<T>을 만드는 데 사용할 Lookup<TKey,TElement>입니다.
- keySelector
- Func<TSource,TKey>
각 요소에서 키를 추출하는 함수입니다.
- elementSelector
- Func<TSource,TElement>
각 요소를 사용하여 결과 요소 값을 생성할 변형 함수입니다.
반환
입력 시퀀스에서 선택한 TElement
형식 값이 포함된 Lookup<TKey,TElement>입니다.
예외
source
, keySelector
또는 elementSelector
가 null
인 경우
예제
다음 코드 예제에서는 키 선택기 함수 및 요소 선택기 함수를 사용하여 를 만드는 Lookup<TKey,TElement> 방법을 ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) 보여 줍니다.
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 => p.Company[0],
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.
Console.WriteLine(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>합니다. 은 Lookup<TKey,TElement> 단일 값에 Dictionary<TKey,TValue>대한 키의 일대일 매핑을 수행하는 과 다릅니다.
기본 같음 비교자는 Default 키를 비교하는 데 사용됩니다.
적용 대상
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)
- Source:
- Lookup.cs
- Source:
- Lookup.cs
- Source:
- Lookup.cs
지정된 키 선택기 함수, 비교자 및 요소 선택기 함수에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>을 만듭니다.
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);
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
요소의 형식입니다.
- TKey
keySelector
에서 반환하는 키의 형식입니다.
- TElement
elementSelector
에서 반환하는 값의 형식입니다.
매개 변수
- source
- IEnumerable<TSource>
IEnumerable<T>을 만드는 데 사용할 Lookup<TKey,TElement>입니다.
- keySelector
- Func<TSource,TKey>
각 요소에서 키를 추출하는 함수입니다.
- elementSelector
- Func<TSource,TElement>
각 요소를 사용하여 결과 요소 값을 생성할 변형 함수입니다.
- comparer
- IEqualityComparer<TKey>
키를 비교할 IEqualityComparer<T>입니다.
반환
입력 시퀀스에서 선택한 TElement
형식 값이 포함된 Lookup<TKey,TElement>입니다.
예외
source
, keySelector
또는 elementSelector
가 null
인 경우
설명
메서드는 ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) 키를 값 컬렉션에 매핑하는 일대다 사전인 를 반환 Lookup<TKey,TElement>합니다. 은 Lookup<TKey,TElement> 단일 값에 Dictionary<TKey,TValue>대한 키의 일대일 매핑을 수행하는 과 다릅니다.
가 이null
면 comparer
기본 같음 비교자를 Default 사용하여 키를 비교합니다.
적용 대상
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)
- Source:
- Lookup.cs
- Source:
- Lookup.cs
- Source:
- Lookup.cs
지정된 키 선택기 함수와 키 비교자에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>를 만듭니다.
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);
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
요소의 형식입니다.
- TKey
keySelector
에서 반환하는 키의 형식입니다.
매개 변수
- source
- IEnumerable<TSource>
IEnumerable<T>을 만드는 데 사용할 Lookup<TKey,TElement>입니다.
- keySelector
- Func<TSource,TKey>
각 요소에서 키를 추출하는 함수입니다.
- comparer
- IEqualityComparer<TKey>
키를 비교할 IEqualityComparer<T>입니다.
반환
키와 값이 들어 있는 Lookup<TKey,TElement>입니다. 각 그룹의 값은 source
의 순서와 동일합니다.
예외
source
또는 keySelector
가 null
인 경우
설명
메서드는 ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) 키를 값 컬렉션에 매핑하는 일대다 사전인 를 반환 Lookup<TKey,TElement>합니다. Lookup<TKey,TElement> 은 단일 값에 Dictionary<TKey,TValue>대한 키의 일대일 매핑을 수행하는 입니다.
가 이null
면 comparer
기본 같음 비교자를 Default 사용하여 키를 비교합니다.
적용 대상
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Source:
- Lookup.cs
- Source:
- Lookup.cs
- Source:
- Lookup.cs
지정된 키 선택기 함수에 따라 Lookup<TKey,TElement>을 사용하여 IEnumerable<T>를 만듭니다.
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
요소의 형식입니다.
- TKey
keySelector
에서 반환하는 키의 형식입니다.
매개 변수
- source
- IEnumerable<TSource>
IEnumerable<T>을 만드는 데 사용할 Lookup<TKey,TElement>입니다.
- keySelector
- Func<TSource,TKey>
각 요소에서 키를 추출하는 함수입니다.
반환
키와 값이 들어 있는 Lookup<TKey,TElement>입니다. 각 그룹의 값은 source
의 순서와 동일합니다.
예외
source
또는 keySelector
가 null
인 경우
설명
메서드는 ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) 키를 값 컬렉션에 매핑하는 일대다 사전인 를 반환 Lookup<TKey,TElement>합니다. 은 Lookup<TKey,TElement> 단일 값에 Dictionary<TKey,TValue>대한 키의 일대일 매핑을 수행하는 과 다릅니다.
기본 같음 비교자는 Default 키를 비교하는 데 사용됩니다.
적용 대상
.NET