(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Enumerable.Join<TOuter, TInner, TKey, TResult>-Methode (IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)

Korreliert die Elemente von zwei Sequenzen auf der Grundlage von übereinstimmenden Schlüsseln. Schlüssel werden mithilfe eines angegebenen IEqualityComparer<T> verglichen.

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(
	this IEnumerable<TOuter> outer,
	IEnumerable<TInner> inner,
	Func<TOuter, TKey> outerKeySelector,
	Func<TInner, TKey> innerKeySelector,
	Func<TOuter, TInner, TResult> resultSelector,
	IEqualityComparer<TKey> comparer
)

Typparameter

TOuter

Der Typ der Elemente der ersten Sequenz.

TInner

Der Typ der Elemente der zweiten Sequenz.

TKey

Der Typ der von den Schlüsselauswahlfunktionen zurückgegebenen Schlüssel.

TResult

Der Typ der Ergebniselemente.

Parameter

outer
Typ: System.Collections.Generic.IEnumerable<TOuter>
Die erste zu verknüpfende Sequenz.
inner
Typ: System.Collections.Generic.IEnumerable<TInner>
Die Sequenz, die mit der ersten Sequenz verknüpft werden soll.
outerKeySelector
Typ: System.Func<TOuter, TKey>
Eine Funktion zum Extrahieren des Joinschlüssels aus jedem Element der ersten Sequenz.
innerKeySelector
Typ: System.Func<TInner, TKey>
Eine Funktion zum Extrahieren des Joinschlüssels aus jedem Element der zweiten Sequenz.
resultSelector
Typ: System.Func<TOuter, TInner, TResult>
Eine Funktion zum Erstellen eines Ergebniselements aus zwei übereinstimmenden Elementen.
comparer
Typ: System.Collections.Generic.IEqualityComparer<TKey>
Ein IEqualityComparer<T> zum Hashen und Vergleichen von Schlüsseln.

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<TResult>
Ein IEnumerable<T>, das Elemente vom Typ TResult enthält, die durch Ausführen eines inneren Joins von zwei Sequenzen ermittelt werden.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IEnumerable<TOuter> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) und Erweiterungsmethoden (C#-Programmierhandbuch).

AusnahmeBedingung
ArgumentNullException

outer, inner, outerKeySelector, innerKeySelector oder resultSelector ist null.

Diese Methode wird mit verzögerter Ausführung implementiert. Der Wert der sofortigen Rückgabe ist ein Objekt, in dem alle zum Ausführen der Aktion erforderlichen Informationen gespeichert werden. Die von dieser Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt entweder durch den direkten Aufruf der zugehörigen GetEnumerator-Methode oder mithilfe von foreach in Visual C# oder For Each in Visual Basic aufgelistet wird.

Wenn comparernull ist, werden Schlüssel mithilfe des Standardgleichheitsvergleichs Default gehasht und verglichen.

Ein Join verweist auf die Operation, bei der die Elemente von zwei Informationsquellen auf Grundlage eines gemeinsamen Schlüssels korreliert werden. Join vereinigt die beiden Informationsquellen und die Schlüssel, über die sie zugeordnet werden, in einem Methodenaufruf. Dies unterscheidet sich von der Verwendung von SelectMany, die für denselben Vorgang mehrere Methodenaufrufe erfordert.

Join behält die Reihenfolge der Elemente von outer sowie für jedes dieser Elemente die Reihenfolge der übereinstimmenden Elemente von inner bei.

In der Terminologie für relationale Datenbanken implementiert die Join-Methode einen inneren Gleichheitsjoin. Bei einer inneren Verknüpfung werden nur Elemente mit übereinstimmenden Elementen in der anderen Sequenz in die Ergebnisse eingeschlossen. Ein Gleichheitsjoin ist eine Verknüpfung, in der die Schlüssel auf Gleichheit überprüft werden. Ein linker äußerer Join verfügt über keinen speziellen Standardabfrageoperator, er kann jedoch mit der GroupJoin-Methode ausgeführt werden. Siehe Verknüpfungsvorgänge.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft