Ejemplo n.º 1
0
        public static int FindIndex <TSource>(this IEnumerable <TSource> source, TSource element, IEqualityComparer <TSource> equalityComparer)
        {
            if (source is null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (equalityComparer is null)
            {
                throw new ArgumentNullException(nameof(equalityComparer));
            }

            return(EnumerableEx.FindIndexInternal(
                       source,
                       t => equalityComparer.Equals(t, element)
                       ));
        }
Ejemplo n.º 2
0
        public static int FindIndex <TSource, TTemporary, TElement>(this IEnumerable <TSource> source, Func <TSource, TTemporary> sourceSelector, TElement element, Func <TElement, TTemporary> elementSelector, IEqualityComparer <TTemporary> equalityComparer)
        {
            if (source is null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (sourceSelector is null)
            {
                throw new ArgumentNullException(nameof(sourceSelector));
            }
            if (elementSelector is null)
            {
                throw new ArgumentNullException(nameof(elementSelector));
            }
            if (equalityComparer is null)
            {
                throw new ArgumentNullException(nameof(equalityComparer));
            }

            return(EnumerableEx.FindIndexInternal(
                       source,
                       t => equalityComparer.Equals(sourceSelector(t), elementSelector(element))
                       ));
        }