Method WindowRight
View SourceWindowRight<TSource>(IAsyncEnumerable<TSource>, int)
Creates a right-aligned sliding window over the source sequence of a given size.
Declaration
public static IAsyncEnumerable<IList<TSource>> WindowRight<TSource>(this IAsyncEnumerable<TSource> source, int size)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | The sequence over which to create the sliding window. |
int | size | Size of the sliding window. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IList<TSource>> | A sequence representing each sliding window. |
Type Parameters
Name | Description |
---|---|
TSource | The type of the elements of |
Remarks
A window can contain fewer elements than size
,
especially as it slides over the start of the sequence.
This operator uses deferred execution and streams its results.
Examples
Console.WriteLine(
Enumerable
.Range(1, 5)
.WindowRight(3)
.Select(w => "AVG(" + w.ToDelimitedString(",") + ") = " + w.Average())
.ToDelimitedString(Environment.NewLine));
// Output:
// AVG(1) = 1
// AVG(1,2) = 1.5
// AVG(1,2,3) = 2
// AVG(2,3,4) = 3
// AVG(3,4,5) = 4