CollectionsExtensions.FullOuterJoin<TOuter, TInner, TKey, TResult> - метод

Объединяет две последовательности по алгоритму FULL OUTER JOIN.

Definition

Пространство имён: Tessa.Platform.Collections
Сборка: Tessa (в Tessa.dll) Версия: 4.0.6
C#
public static IEnumerable<TResult> FullOuterJoin<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 = null,
	TOuter outerDefault = null,
	TInner innerDefault = null
)

Параметры

outer  IEnumerable<TOuter>
Последовательность внешних элементов.
inner  IEnumerable<TInner>
Последовательность внутренних элементов.
outerKeySelector  Func<TOuter, TKey>
Функция, извлекающая ключ из последовательности внешних элементов для сравнения с внутренними элементами.
innerKeySelector  Func<TInner, TKey>
Функция, извлекающая ключ из последовательности внутренних элементов для сравнения с внешними элементами.
resultSelector  Func<TOuter, TInner, TResult>
Объект, объединяющий элементы из внешней и внутренней последовательности в результирующую последовательность. Один из переданных элементов может быть равен null, но не оба, если типы TOuter и TInner этого не позволяют.
comparer  IEqualityComparer<TKey>  (Optional)
Объект, выполняющий сравнение ключей, извлечённых из обеих последовательностей, или null, если используется компаратор по умолчанию.
outerDefault  TOuter  (Optional)
Значение по умолчанию для внешних элементов.
innerDefault  TInner  (Optional)
Значение по умолчанию для внутренних элементов.

Параметры типа

TOuter
Тип в последовательности внешних элементов.
TInner
Тип в последовательности внутренних элементов.
TKey
Тип ключа, по которому объединяются последовательности.
TResult
Тип результирующей последовательности.

Возвращаемое значение

IEnumerable<TResult>

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IEnumerable<TOuter>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

См. также