이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Enumerable.ToLookup<TSource, TKey, TElement> 메서드 (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)

 

게시 날짜: 2016년 11월

만듭니다는 Lookup<TKey, TElement> 에서 IEnumerable<T> 지정 된 키 선택기와 요소 선택기 함수에 따라 합니다.

네임스페이스:   System.Linq
어셈블리:  System.Core(System.Core.dll에 있음)

public static ILookup<TKey, TElement> ToLookup<TSource, TKey, TElement>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	Func<TSource, TElement> elementSelector
)

매개 변수

source
Type: System.Collections.Generic.IEnumerable<TSource>

IEnumerable<T> 만들려는 Lookup<TKey, TElement> 에서.

keySelector
Type: System.Func<TSource, TKey>

각 요소에서 키를 추출하는 함수입니다.

elementSelector
Type: System.Func<TSource, TElement>

각 요소를 사용하여 결과 요소 값을 생성할 변형 함수입니다.

반환 값

Type: System.Linq.ILookup<TKey, TElement>

A Lookup<TKey, TElement> 형식의 값이 들어 있는 TElement 입력된 시퀀스에서 선택 합니다.

형식 매개 변수

TSource

요소 형식의 source합니다.

TKey

반환 된 키의 형식 keySelector합니다.

TElement

반환 된 값의 형식 elementSelector합니다.

Exception Condition
ArgumentNullException

source, keySelector 또는 elementSelectornull인 경우

ToLookup<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>) 메서드가 반환 되는 Lookup<TKey, TElement>, 일 대 다 매핑하는 사전에 키 값의 컬렉션입니다. A Lookup<TKey, TElement> 에서 다른 한 Dictionary<TKey, TValue>, 키를 단일 값에 대 한 일대일 매핑을 수행 하는 합니다.

기본 같음 비교자 Default 키를 비교 하는 데 사용 됩니다.

다음 코드 예제에 사용 하는 방법을 보여 줍니다 ToLookup<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>) 만들려는 Lookup<TKey, 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 => 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
*/

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
3.5 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: