Skip to content

,System.Int32)} ,System.Int32,System.Reactive.Concurrency.IScheduler)} ,System.TimeSpan)} ,System.TimeSpan,System.Reactive.Concurrency.IScheduler)} ,System.TimeSpan,System.Reactive.Concurrency.IScheduler,System.Reactive.Concurrency.IScheduler)}

Observable.TakeLast(IObservable, int) method

Defined in

Type: Observable Namespace: System.Reactive.Linq Assembly: System.Reactive.dll

Applies to

netstandard2.0

Overloads

  • 1. public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, int count)
  • 2. public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, int count, IScheduler scheduler)
  • 3. public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration)
  • 4. public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
  • 5. public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)

1. Overload

public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, int count)

Summary: Returns a specified number of contiguous elements from the end of an observable sequence.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.

Parameters

NameTypeDescription
sourceIObservableSource sequence.
countintNumber of elements to take from the end of the source sequence.

Returns: IObservable -- An observable sequence containing the specified number of elements from the end of the source sequence.

Remarks

This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource is null.
System.ArgumentOutOfRangeExceptioncount is less than zero.

2. Overload

public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, int count, IScheduler scheduler)

Summary: Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.

Parameters

NameTypeDescription
sourceIObservableSource sequence.
countintNumber of elements to take from the end of the source sequence.
scheduler[IScheduler](#Scheduler used to drain the queue upon completion of the source sequence.

Returns: IObservable -- An observable sequence containing the specified number of elements from the end of the source sequence.

Remarks

This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or scheduler is null.
System.ArgumentOutOfRangeExceptioncount is less than zero.

3. Overload

public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration)

Summary: Returns elements within the specified duration from the end of the observable source sequence.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.

Parameters

NameTypeDescription
sourceIObservableSource sequence to take elements from.
durationTimeSpanDuration for taking elements from the end of the sequence.

Returns: IObservable -- An observable sequence with the elements taken during the specified duration from the end of the source sequence.

Remarks

This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements to be delayed with duration.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource is null.
System.ArgumentOutOfRangeExceptionduration is less than TimeSpan.Zero.

4. Overload

public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)

Summary: Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.

Parameters

NameTypeDescription
sourceIObservableSource sequence to take elements from.
durationTimeSpanDuration for taking elements from the end of the sequence.
scheduler[IScheduler](#Scheduler to run the timer on.

Returns: IObservable -- An observable sequence with the elements taken during the specified duration from the end of the source sequence.

Remarks

This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements to be delayed with duration.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or scheduler is null.
System.ArgumentOutOfRangeExceptionduration is less than TimeSpan.Zero.

5. Overload

public static IObservable<TSource> TakeLast<TSource>(this IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)

Summary: Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.

Parameters

NameTypeDescription
sourceIObservableSource sequence to take elements from.
durationTimeSpanDuration for taking elements from the end of the sequence.
timerScheduler[IScheduler](#Scheduler to run the timer on.
loopScheduler[IScheduler](#Scheduler to drain the collected elements.

Returns: IObservable -- An observable sequence with the elements taken during the specified duration from the end of the source sequence.

Remarks

This operator accumulates a buffer with a length enough to store elements for any duration window during the lifetime of the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements to be delayed with duration.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or timerScheduler or loopScheduler is null.
System.ArgumentOutOfRangeExceptionduration is less than TimeSpan.Zero.