diff --git a/src/Core/src/Extensions/EnumerableExtensions.cs b/src/Core/src/Extensions/EnumerableExtensions.cs index 31d3b1b9901e..f073930c694f 100644 --- a/src/Core/src/Extensions/EnumerableExtensions.cs +++ b/src/Core/src/Extensions/EnumerableExtensions.cs @@ -147,9 +147,16 @@ public static int IndexOf(this IEnumerable enumerable, Func predi throw new ArgumentNullException(nameof(enumerable)); } - if (enumerable is IList list) + if (enumerable is List list) + { + var listPredicate = new Predicate(predicate); + return list.FindIndex(listPredicate); + } + + if (enumerable is T[] array) { - return list.IndexOf(predicate); + var arrayPredicate = new Predicate(predicate); + return Array.FindIndex(array, arrayPredicate); } var i = 0;