Enumerable.SequenceEqual<TSource> Method (IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

July 28, 2014

Determines whether two sequences are equal by comparing their elements by using a specified IEqualityComparer<T>.

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

public static bool SequenceEqual<TSource>(
	this IEnumerable<TSource> first,
	IEnumerable<TSource> second,
	IEqualityComparer<TSource> comparer
)

Type Parameters

TSource

The type of the elements of the input sequences.

Parameters

first
Type: System.Collections.Generic.IEnumerable<TSource>
An IEnumerable<T> to compare to second.
second
Type: System.Collections.Generic.IEnumerable<TSource>
An IEnumerable<T> to compare to the first sequence.
comparer
Type: System.Collections.Generic.IEqualityComparer<TSource>
An IEqualityComparer<T> to use to compare elements.

Return Value

Type: System.Boolean
true if the two source sequences are of equal length and their corresponding elements compare equal according to comparer; otherwise, false.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter.

ExceptionCondition
ArgumentNullException

first or second is null.

InvalidOperationException

source has more than one element.

The SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) method enumerates the two source sequences in parallel and compares corresponding elements by using the specified IEqualityComparer<T>. If comparer is null, the default equality comparer, Default, is used to compare elements.

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft