E_ElecCompetition/Electrical_inspectionCompet.../Assets/Adam/UniTask/Runtime/Linq/SkipLast.cs

159 lines
4.9 KiB
C#

using Cysharp.Threading.Tasks.Internal;
using System;
using System.Collections.Generic;
using System.Threading;
namespace Cysharp.Threading.Tasks.Linq
{
public static partial class UniTaskAsyncEnumerable
{
public static IUniTaskAsyncEnumerable<TSource> SkipLast<TSource>(this IUniTaskAsyncEnumerable<TSource> source, Int32 count)
{
Error.ThrowArgumentNullException(source, nameof(source));
// non skip.
if (count <= 0)
{
return source;
}
return new SkipLast<TSource>(source, count);
}
}
internal sealed class SkipLast<TSource> : IUniTaskAsyncEnumerabl