HashCodeExtensions Class

Provides extension methods for HashCode to efficiently add multiple values.

public static class HashCodeExtensions

Methods

NameDescription
AddValues<T>(HashCode, IEnumerable<T>, IEqualityComparer<T>?)Adds all values from an enumerable to the hash code.
AddValues<T>(HashCode, ReadOnlySpan<T>, IEqualityComparer<T>?)Adds all values from a span to the hash code.
AddValues<T>(HashCode, T[], IEqualityComparer<T>?)Adds all values from an array to the hash code.

AddValues overloads

AddValues<T>(HashCode, IEnumerable<T>, IEqualityComparer<T>?)

HashCodeExtensions.cs

Adds all values from an enumerable to the hash code.

public static void AddValues<T>(this ref HashCode hashCode, IEnumerable<T> values, IEqualityComparer<T>? equalityComparer = null)
Type parameters
T
Parameters
hashCode HashCode
values IEnumerable<T>
equalityComparer IEqualityComparer<T>?

AddValues<T>(HashCode, ReadOnlySpan<T>, IEqualityComparer<T>?)

HashCodeExtensions.cs

Adds all values from a span to the hash code.

public static void AddValues<T>(this ref HashCode hashCode, ReadOnlySpan<T> values, IEqualityComparer<T>? equalityComparer = null)
Type parameters
T
Parameters
hashCode HashCode
values ReadOnlySpan<T>
equalityComparer IEqualityComparer<T>?

AddValues<T>(HashCode, T[], IEqualityComparer<T>?)

HashCodeExtensions.cs

Adds all values from an array to the hash code.

public static void AddValues<T>(this ref HashCode hashCode, T[] values, IEqualityComparer<T>? equalityComparer = null)
Type parameters
T
Parameters
hashCode HashCode
values T[]
equalityComparer IEqualityComparer<T>?