Parcourir la source

[linq] optimize Take(0)

Marek Safar il y a 11 ans
Parent
commit
91ea62331c
1 fichiers modifiés avec 3 ajouts et 3 suppressions
  1. 3 3
      mcs/class/System.Core/System.Linq/Enumerable.cs

+ 3 - 3
mcs/class/System.Core/System.Linq/Enumerable.cs

@@ -2765,14 +2765,14 @@ namespace System.Linq
 		{
 			Check.Source (source);
 
+			if (count <= 0)
+				return EmptyOf<TSource>.Instance;
+
 			return CreateTakeIterator (source, count);
 		}
 
 		static IEnumerable<TSource> CreateTakeIterator<TSource> (IEnumerable<TSource> source, int count)
 		{
-			if (count <= 0)
-				yield break;
-
 			int counter = 0;
 			foreach (TSource element in source) {
 				yield return element;