@@ -48,20 +48,9 @@ public static IEnumerable<TSource> IntersectBy<TSource, TKey>(this IEnumerable<T
4848 /// <returns>返回两个集合中具有相同键的交集元素</returns>
4949 public static IEnumerable < TSource > IntersectBy < TSource , TKey > ( this IEnumerable < TSource > first , IEnumerable < TSource > second , Func < TSource , TKey > keySelector , IEqualityComparer < TKey > comparer )
5050 {
51- if ( first == null )
52- {
53- throw new ArgumentNullException ( nameof ( first ) ) ;
54- }
55-
56- if ( second == null )
57- {
58- throw new ArgumentNullException ( nameof ( second ) ) ;
59- }
60-
61- if ( keySelector == null )
62- {
63- throw new ArgumentNullException ( nameof ( keySelector ) ) ;
64- }
51+ ArgumentNullException . ThrowIfNull ( first , nameof ( first ) ) ;
52+ ArgumentNullException . ThrowIfNull ( second , nameof ( second ) ) ;
53+ ArgumentNullException . ThrowIfNull ( keySelector , nameof ( keySelector ) ) ;
6554
6655 return IntersectByIterator ( first , second , keySelector , comparer ) ;
6756 }
@@ -149,15 +138,8 @@ public static IEnumerable<TFirst> ExceptBy<TFirst, TSecond>(this IEnumerable<TFi
149138 /// <returns>返回去重后的集合</returns>
150139 public static IEnumerable < TSource > DistinctBy < TSource , TKey > ( this IEnumerable < TSource > source , Func < TSource , TKey > keySelector )
151140 {
152- if ( source == null )
153- {
154- throw new ArgumentNullException ( nameof ( source ) ) ;
155- }
156-
157- if ( keySelector == null )
158- {
159- throw new ArgumentNullException ( nameof ( keySelector ) ) ;
160- }
141+ ArgumentNullException . ThrowIfNull ( source , nameof ( source ) ) ;
142+ ArgumentNullException . ThrowIfNull ( keySelector , nameof ( keySelector ) ) ;
161143
162144 var set = new HashSet < TKey > ( ) ;
163145 return source . Where ( item => set . Add ( keySelector ( item ) ) ) ;
@@ -189,20 +171,9 @@ public static IEnumerable<TSource> IntersectBy<TSource, TKey>(this IEnumerable<T
189171 /// <returns>返回两个集合中具有相同键的交集元素</returns>
190172 public static IEnumerable < TSource > IntersectBy < TSource , TKey > ( this IEnumerable < TSource > first , IEnumerable < TKey > second , Func < TSource , TKey > keySelector , IEqualityComparer < TKey > comparer )
191173 {
192- if ( first == null )
193- {
194- throw new ArgumentNullException ( nameof ( first ) ) ;
195- }
196-
197- if ( second == null )
198- {
199- throw new ArgumentNullException ( nameof ( second ) ) ;
200- }
201-
202- if ( keySelector == null )
203- {
204- throw new ArgumentNullException ( nameof ( keySelector ) ) ;
205- }
174+ ArgumentNullException . ThrowIfNull ( first , nameof ( first ) ) ;
175+ ArgumentNullException . ThrowIfNull ( second , nameof ( second ) ) ;
176+ ArgumentNullException . ThrowIfNull ( keySelector , nameof ( keySelector ) ) ;
206177
207178 return IntersectByIterator ( first , second , keySelector , comparer ) ;
208179 }
@@ -240,20 +211,9 @@ public static IEnumerable<TSource> ExceptBy<TSource, TKey>(this IEnumerable<TSou
240211 /// <exception cref="ArgumentNullException">如果 first、second 或 keySelector 为 null,则抛出此异常</exception>
241212 public static IEnumerable < TSource > ExceptBy < TSource , TKey > ( this IEnumerable < TSource > first , IEnumerable < TKey > second , Func < TSource , TKey > keySelector , IEqualityComparer < TKey > comparer )
242213 {
243- if ( first == null )
244- {
245- throw new ArgumentNullException ( nameof ( first ) ) ;
246- }
247-
248- if ( second == null )
249- {
250- throw new ArgumentNullException ( nameof ( second ) ) ;
251- }
252-
253- if ( keySelector == null )
254- {
255- throw new ArgumentNullException ( nameof ( keySelector ) ) ;
256- }
214+ ArgumentNullException . ThrowIfNull ( first , nameof ( first ) ) ;
215+ ArgumentNullException . ThrowIfNull ( second , nameof ( second ) ) ;
216+ ArgumentNullException . ThrowIfNull ( keySelector , nameof ( keySelector ) ) ;
257217
258218 return ExceptByIterator ( first , second , keySelector , comparer ) ;
259219 }
@@ -1135,11 +1095,7 @@ public static IQueryable<T> WhereIf<T>(this IQueryable<T> source, Func<bool> con
11351095 /// <returns>操作后的集合。</returns>
11361096 public static IList < T > ChangeIndex < T > ( this IList < T > list , T item , int index )
11371097 {
1138- if ( item is null )
1139- {
1140- throw new ArgumentNullException ( nameof ( item ) ) ;
1141- }
1142-
1098+ ArgumentNullException . ThrowIfNull ( item , nameof ( item ) ) ;
11431099 ChangeIndexInternal ( list , item , index ) ;
11441100 return list ;
11451101 }
0 commit comments