瀏覽代碼

Use null-coalescing assignment.

Bart De Smet 6 年之前
父節點
當前提交
c23993cb4b

+ 4 - 16
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/DistinctUntilChanged.cs

@@ -94,10 +94,7 @@ namespace System.Linq
         private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource>(IAsyncEnumerable<TSource> source, IEqualityComparer<TSource> comparer)
         {
 #if USE_ASYNC_ITERATOR
-            if (comparer == null)
-            {
-                comparer = EqualityComparer<TSource>.Default;
-            }
+            comparer ??= EqualityComparer<TSource>.Default;
 
             return AsyncEnumerable.Create(Core);
 
@@ -135,10 +132,7 @@ namespace System.Linq
         private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
         {
 #if USE_ASYNC_ITERATOR
-            if (comparer == null)
-            {
-                comparer = EqualityComparer<TKey>.Default;
-            }
+            comparer ??= EqualityComparer<TKey>.Default;
 
             return AsyncEnumerable.Create(Core);
 
@@ -180,10 +174,7 @@ namespace System.Linq
         private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, ValueTask<TKey>> keySelector, IEqualityComparer<TKey> comparer)
         {
 #if USE_ASYNC_ITERATOR
-            if (comparer == null)
-            {
-                comparer = EqualityComparer<TKey>.Default;
-            }
+            comparer ??= EqualityComparer<TKey>.Default;
 
             return AsyncEnumerable.Create(Core);
 
@@ -226,10 +217,7 @@ namespace System.Linq
         private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask<TKey>> keySelector, IEqualityComparer<TKey> comparer)
         {
 #if USE_ASYNC_ITERATOR
-            if (comparer == null)
-            {
-                comparer = EqualityComparer<TKey>.Default;
-            }
+            comparer ??= EqualityComparer<TKey>.Default;
 
             return AsyncEnumerable.Create(Core);
 

+ 1 - 4
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Max.cs

@@ -19,10 +19,7 @@ namespace System.Linq
 
             static async ValueTask<TSource> Core(IAsyncEnumerable<TSource> source, IComparer<TSource> comparer, CancellationToken cancellationToken)
             {
-                if (comparer == null)
-                {
-                    comparer = Comparer<TSource>.Default;
-                }
+                comparer ??= Comparer<TSource>.Default;
 
                 await using (var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false))
                 {

+ 3 - 12
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/MaxBy.cs

@@ -76,20 +76,14 @@ namespace System.Linq
 
         private static ValueTask<IList<TSource>> MaxByCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer, CancellationToken cancellationToken)
         {
-            if (comparer == null)
-            {
-                comparer = Comparer<TKey>.Default;
-            }
+            comparer ??= Comparer<TKey>.Default;
 
             return ExtremaBy(source, keySelector, (key, minValue) => comparer.Compare(key, minValue), cancellationToken);
         }
 
         private static ValueTask<IList<TSource>> MaxByCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, ValueTask<TKey>> keySelector, IComparer<TKey> comparer, CancellationToken cancellationToken)
         {
-            if (comparer == null)
-            {
-                comparer = Comparer<TKey>.Default;
-            }
+            comparer ??= Comparer<TKey>.Default;
 
             return ExtremaBy(source, keySelector, (key, minValue) => comparer.Compare(key, minValue), cancellationToken);
         }
@@ -97,10 +91,7 @@ namespace System.Linq
 #if !NO_DEEP_CANCELLATION
         private static ValueTask<IList<TSource>> MaxByCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask<TKey>> keySelector, IComparer<TKey> comparer, CancellationToken cancellationToken)
         {
-            if (comparer == null)
-            {
-                comparer = Comparer<TKey>.Default;
-            }
+            comparer ??= Comparer<TKey>.Default;
 
             return ExtremaBy(source, keySelector, (key, minValue) => comparer.Compare(key, minValue), cancellationToken);
         }

+ 1 - 4
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Min.cs

@@ -19,10 +19,7 @@ namespace System.Linq
 
             static async ValueTask<TSource> Core(IAsyncEnumerable<TSource> source, IComparer<TSource> comparer, CancellationToken cancellationToken)
             {
-                if (comparer == null)
-                {
-                    comparer = Comparer<TSource>.Default;
-                }
+                comparer ??= Comparer<TSource>.Default;
 
                 await using (var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false))
                 {

+ 3 - 12
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/MinBy.cs

@@ -76,20 +76,14 @@ namespace System.Linq
 
         private static ValueTask<IList<TSource>> MinByCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer, CancellationToken cancellationToken)
         {
-            if (comparer == null)
-            {
-                comparer = Comparer<TKey>.Default;
-            }
+            comparer ??= Comparer<TKey>.Default;
 
             return ExtremaBy(source, keySelector, (key, minValue) => -comparer.Compare(key, minValue), cancellationToken);
         }
 
         private static ValueTask<IList<TSource>> MinByCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, ValueTask<TKey>> keySelector, IComparer<TKey> comparer, CancellationToken cancellationToken)
         {
-            if (comparer == null)
-            {
-                comparer = Comparer<TKey>.Default;
-            }
+            comparer ??= Comparer<TKey>.Default;
 
             return ExtremaBy(source, keySelector, (key, minValue) => -comparer.Compare(key, minValue), cancellationToken);
         }
@@ -97,10 +91,7 @@ namespace System.Linq
 #if !NO_DEEP_CANCELLATION
         private static ValueTask<IList<TSource>> MinByCore<TSource, TKey>(IAsyncEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask<TKey>> keySelector, IComparer<TKey> comparer, CancellationToken cancellationToken)
         {
-            if (comparer == null)
-            {
-                comparer = Comparer<TKey>.Default;
-            }
+            comparer ??= Comparer<TKey>.Default;
 
             return ExtremaBy(source, keySelector, (key, minValue) => -comparer.Compare(key, minValue), cancellationToken);
         }