Browse Source

Minor modernization.

Bart De Smet 7 years ago
parent
commit
4802dc8f35
1 changed files with 10 additions and 14 deletions
  1. 10 14
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Select.cs

+ 10 - 14
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Select.cs

@@ -18,14 +18,12 @@ namespace System.Linq
             if (selector == null)
                 throw Error.ArgumentNull(nameof(selector));
 
-            if (source is AsyncIterator<TSource> iterator)
+            switch (source)
             {
-                return iterator.Select(selector);
-            }
-
-            if (source is IList<TSource> ilist)
-            {
-                return new SelectIListIterator<TSource, TResult>(ilist, selector);
+                case AsyncIterator<TSource> iterator:
+                    return iterator.Select(selector);
+                case IList<TSource> list:
+                    return new SelectIListIterator<TSource, TResult>(list, selector);
             }
 
             return new SelectEnumerableAsyncIterator<TSource, TResult>(source, selector);
@@ -48,14 +46,12 @@ namespace System.Linq
             if (selector == null)
                 throw Error.ArgumentNull(nameof(selector));
 
-            if (source is AsyncIterator<TSource> iterator)
-            {
-                return iterator.Select(selector);
-            }
-
-            if (source is IList<TSource> ilist)
+            switch (source)
             {
-                return new SelectIListIteratorWithTask<TSource, TResult>(ilist, selector);
+                case AsyncIterator<TSource> iterator:
+                    return iterator.Select(selector);
+                case IList<TSource> list:
+                    return new SelectIListIteratorWithTask<TSource, TResult>(list, selector);
             }
 
             return new SelectEnumerableAsyncIteratorWithTask<TSource, TResult>(source, selector);