diff --git a/Src/Newtonsoft.Json/Utilities/LinqBridge.cs b/Src/Newtonsoft.Json/Utilities/LinqBridge.cs index 786a547b..d151069f 100644 --- a/Src/Newtonsoft.Json/Utilities/LinqBridge.cs +++ b/Src/Newtonsoft.Json/Utilities/LinqBridge.cs @@ -205,9 +205,18 @@ namespace Newtonsoft.Json.Utilities.LinqBridge this IEnumerable source, Func selector) { + CheckNotNull(source, "source"); CheckNotNull(selector, "selector"); - return source.Select((item, i) => selector(item)); + return SelectYield(source, selector); + } + + private static IEnumerable SelectYield( + IEnumerable source, + Func selector) + { + foreach (var item in source) + yield return selector(item); } ///