@@ -98,29 +98,28 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource>(IAsyn
98
98
99
99
async IAsyncEnumerator < TSource > Core ( CancellationToken cancellationToken )
100
100
{
101
- await using ( var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) )
101
+ await using var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) ;
102
+
103
+ if ( ! await e . MoveNextAsync ( ) )
102
104
{
103
- if ( ! await e . MoveNextAsync ( ) )
104
- {
105
- yield break ;
106
- }
105
+ yield break ;
106
+ }
107
107
108
- var latest = e . Current ;
108
+ var latest = e . Current ;
109
109
110
- yield return latest ;
110
+ yield return latest ;
111
111
112
- while ( await e . MoveNextAsync ( ) )
113
- {
114
- var item = e . Current ;
112
+ while ( await e . MoveNextAsync ( ) )
113
+ {
114
+ var item = e . Current ;
115
115
116
- // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
116
+ // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
117
117
118
- if ( ! comparer ! . Equals ( latest , item ) )
119
- {
120
- latest = item ;
118
+ if ( ! comparer ! . Equals ( latest , item ) )
119
+ {
120
+ latest = item ;
121
121
122
- yield return latest ;
123
- }
122
+ yield return latest ;
124
123
}
125
124
}
126
125
}
@@ -134,33 +133,32 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>
134
133
135
134
async IAsyncEnumerator < TSource > Core ( CancellationToken cancellationToken )
136
135
{
137
- await using ( var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) )
136
+ await using var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) ;
137
+
138
+ if ( ! await e . MoveNextAsync ( ) )
138
139
{
139
- if ( ! await e . MoveNextAsync ( ) )
140
- {
141
- yield break ;
142
- }
140
+ yield break ;
141
+ }
143
142
144
- var item = e . Current ;
143
+ var item = e . Current ;
145
144
146
- var latestKey = keySelector ( item ) ;
145
+ var latestKey = keySelector ( item ) ;
147
146
148
- yield return item ;
147
+ yield return item ;
149
148
150
- while ( await e . MoveNextAsync ( ) )
151
- {
152
- item = e . Current ;
149
+ while ( await e . MoveNextAsync ( ) )
150
+ {
151
+ item = e . Current ;
153
152
154
- var currentKey = keySelector ( item ) ;
153
+ var currentKey = keySelector ( item ) ;
155
154
156
- // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
155
+ // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
157
156
158
- if ( ! comparer ! . Equals ( latestKey , currentKey ) )
159
- {
160
- latestKey = currentKey ;
157
+ if ( ! comparer ! . Equals ( latestKey , currentKey ) )
158
+ {
159
+ latestKey = currentKey ;
161
160
162
- yield return item ;
163
- }
161
+ yield return item ;
164
162
}
165
163
}
166
164
}
@@ -174,33 +172,32 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>
174
172
175
173
async IAsyncEnumerator < TSource > Core ( CancellationToken cancellationToken )
176
174
{
177
- await using ( var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) )
175
+ await using var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) ;
176
+
177
+ if ( ! await e . MoveNextAsync ( ) )
178
178
{
179
- if ( ! await e . MoveNextAsync ( ) )
180
- {
181
- yield break ;
182
- }
179
+ yield break ;
180
+ }
183
181
184
- var item = e . Current ;
182
+ var item = e . Current ;
185
183
186
- var latestKey = await keySelector ( item ) . ConfigureAwait ( false ) ;
184
+ var latestKey = await keySelector ( item ) . ConfigureAwait ( false ) ;
187
185
188
- yield return item ;
186
+ yield return item ;
189
187
190
- while ( await e . MoveNextAsync ( ) )
191
- {
192
- item = e . Current ;
188
+ while ( await e . MoveNextAsync ( ) )
189
+ {
190
+ item = e . Current ;
193
191
194
- var currentKey = await keySelector ( item ) . ConfigureAwait ( false ) ;
192
+ var currentKey = await keySelector ( item ) . ConfigureAwait ( false ) ;
195
193
196
- // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
194
+ // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
197
195
198
- if ( ! comparer ! . Equals ( latestKey , currentKey ) )
199
- {
200
- latestKey = currentKey ;
196
+ if ( ! comparer ! . Equals ( latestKey , currentKey ) )
197
+ {
198
+ latestKey = currentKey ;
201
199
202
- yield return item ;
203
- }
200
+ yield return item ;
204
201
}
205
202
}
206
203
}
@@ -215,33 +212,32 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>
215
212
216
213
async IAsyncEnumerator < TSource > Core ( CancellationToken cancellationToken )
217
214
{
218
- await using ( var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) )
215
+ await using var e = source . GetConfiguredAsyncEnumerator ( cancellationToken , false ) ;
216
+
217
+ if ( ! await e . MoveNextAsync ( ) )
219
218
{
220
- if ( ! await e . MoveNextAsync ( ) )
221
- {
222
- yield break ;
223
- }
219
+ yield break ;
220
+ }
224
221
225
- var item = e . Current ;
222
+ var item = e . Current ;
226
223
227
- var latestKey = await keySelector ( item , cancellationToken ) . ConfigureAwait ( false ) ;
224
+ var latestKey = await keySelector ( item , cancellationToken ) . ConfigureAwait ( false ) ;
228
225
229
- yield return item ;
226
+ yield return item ;
230
227
231
- while ( await e . MoveNextAsync ( ) )
232
- {
233
- item = e . Current ;
228
+ while ( await e . MoveNextAsync ( ) )
229
+ {
230
+ item = e . Current ;
234
231
235
- var currentKey = await keySelector ( item , cancellationToken ) . ConfigureAwait ( false ) ;
232
+ var currentKey = await keySelector ( item , cancellationToken ) . ConfigureAwait ( false ) ;
236
233
237
- // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
234
+ // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings.
238
235
239
- if ( ! comparer ! . Equals ( latestKey , currentKey ) )
240
- {
241
- latestKey = currentKey ;
236
+ if ( ! comparer ! . Equals ( latestKey , currentKey ) )
237
+ {
238
+ latestKey = currentKey ;
242
239
243
- yield return item ;
244
- }
240
+ yield return item ;
245
241
}
246
242
}
247
243
}
0 commit comments