|
@@ -10,6 +10,14 @@ namespace System.Linq
|
|
{
|
|
{
|
|
public static partial class AsyncEnumerable
|
|
public static partial class AsyncEnumerable
|
|
{
|
|
{
|
|
|
|
+ public static Task<TSource> ElementAt<TSource>(this IAsyncEnumerable<TSource> source, int index)
|
|
|
|
+ {
|
|
|
|
+ if (source == null)
|
|
|
|
+ throw new ArgumentNullException(nameof(source));
|
|
|
|
+
|
|
|
|
+ return ElementAt(source, index, CancellationToken.None);
|
|
|
|
+ }
|
|
|
|
+
|
|
public static Task<TSource> ElementAt<TSource>(this IAsyncEnumerable<TSource> source, int index, CancellationToken cancellationToken)
|
|
public static Task<TSource> ElementAt<TSource>(this IAsyncEnumerable<TSource> source, int index, CancellationToken cancellationToken)
|
|
{
|
|
{
|
|
if (source == null)
|
|
if (source == null)
|
|
@@ -20,12 +28,12 @@ namespace System.Linq
|
|
return ElementAt_(source, index, cancellationToken);
|
|
return ElementAt_(source, index, cancellationToken);
|
|
}
|
|
}
|
|
|
|
|
|
- public static Task<TSource> ElementAt<TSource>(this IAsyncEnumerable<TSource> source, int index)
|
|
|
|
|
|
+ public static Task<TSource> ElementAtOrDefault<TSource>(this IAsyncEnumerable<TSource> source, int index)
|
|
{
|
|
{
|
|
if (source == null)
|
|
if (source == null)
|
|
throw new ArgumentNullException(nameof(source));
|
|
throw new ArgumentNullException(nameof(source));
|
|
|
|
|
|
- return ElementAt(source, index, CancellationToken.None);
|
|
|
|
|
|
+ return ElementAtOrDefault(source, index, CancellationToken.None);
|
|
}
|
|
}
|
|
|
|
|
|
public static Task<TSource> ElementAtOrDefault<TSource>(this IAsyncEnumerable<TSource> source, int index, CancellationToken cancellationToken)
|
|
public static Task<TSource> ElementAtOrDefault<TSource>(this IAsyncEnumerable<TSource> source, int index, CancellationToken cancellationToken)
|
|
@@ -38,14 +46,6 @@ namespace System.Linq
|
|
return ElementAtOrDefault_(source, index, cancellationToken);
|
|
return ElementAtOrDefault_(source, index, cancellationToken);
|
|
}
|
|
}
|
|
|
|
|
|
- public static Task<TSource> ElementAtOrDefault<TSource>(this IAsyncEnumerable<TSource> source, int index)
|
|
|
|
- {
|
|
|
|
- if (source == null)
|
|
|
|
- throw new ArgumentNullException(nameof(source));
|
|
|
|
-
|
|
|
|
- return ElementAtOrDefault(source, index, CancellationToken.None);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private static async Task<TSource> ElementAt_<TSource>(IAsyncEnumerable<TSource> source, int index, CancellationToken cancellationToken)
|
|
private static async Task<TSource> ElementAt_<TSource>(IAsyncEnumerable<TSource> source, int index, CancellationToken cancellationToken)
|
|
{
|
|
{
|
|
if (source is IList<TSource> list)
|
|
if (source is IList<TSource> list)
|