Skip to content

intervals.intervals.intervalextensions

alexey edited this page Nov 16, 2022 · 5 revisions

< Back


IntervalExtensions

Namespace: Intervals.Intervals

public static class IntervalExtensions

Inheritance ObjectIntervalExtensions

Methods

Ceiling(Interval<DateTime>, TimeSpan)

Returns the smallest interval aligned to that is greater than or equal to the specified

public static GranularInterval<DateTime> Ceiling(Interval<DateTime> interval, TimeSpan granuleSize)

Parameters

interval Interval<DateTime>

granuleSize TimeSpan

Returns

GranularInterval<DateTime>

CeilingToMonth(Interval<DateTime>)

Returns the smallest interval aligned to month that is greater than or equal to the specified

public static GranularInterval<DateTime> CeilingToMonth(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

CeilingToQuarter(Interval<DateTime>)

Returns the smallest interval aligned to quarter that is greater than or equal to the specified

public static GranularInterval<DateTime> CeilingToQuarter(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

CeilingToHalfYear(Interval<DateTime>)

Returns the smallest interval aligned to half-year that is greater than or equal to the specified

public static GranularInterval<DateTime> CeilingToHalfYear(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

CeilingToYear(Interval<DateTime>)

Returns the smallest interval aligned to year that is greater than or equal to the specified

public static GranularInterval<DateTime> CeilingToYear(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

Combine<T>(IEnumerable<Interval<T>>)

Returns the union of the specified intervals

public static IEnumerable<Interval<T>> Combine<T>(IEnumerable<Interval<T>> enumerable)

Type Parameters

T

Parameters

enumerable IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Combine<T>(IEnumerable<Interval<T>>, IEnumerable<Interval<T>>)

Returns the union of the specified and intervals

public static IEnumerable<Interval<T>> Combine<T>(IEnumerable<Interval<T>> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Combine<T>(IEnumerable<Interval<T>>, Interval<T>)

Returns the union of the specified and intervals

public static IEnumerable<Interval<T>> Combine<T>(IEnumerable<Interval<T>> left, Interval<T> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right Interval<T>

Returns

IEnumerable<Interval<T>>

Combine<T>(Interval<T>, IEnumerable<Interval<T>>)

Returns the union of the specified and intervals

public static IEnumerable<Interval<T>> Combine<T>(Interval<T> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left Interval<T>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Combine<T>(Interval<T>, Interval<T>)

Returns the union of the specified and intervals

public static IEnumerable<Interval<T>> Combine<T>(Interval<T> left, Interval<T> right)

Type Parameters

T

Parameters

left Interval<T>

right Interval<T>

Returns

IEnumerable<Interval<T>>

Floor(Interval<DateTime>, TimeSpan)

Returns the largest interval aligned to that is less than or equal to the specified

public static GranularInterval<DateTime> Floor(Interval<DateTime> interval, TimeSpan granuleSize)

Parameters

interval Interval<DateTime>

granuleSize TimeSpan

Returns

GranularInterval<DateTime>

FloorToMonth(Interval<DateTime>)

Returns the largest interval aligned to month that is less than or equal to the specified

public static GranularInterval<DateTime> FloorToMonth(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

FloorToQuarter(Interval<DateTime>)

Returns the largest interval aligned to quarter that is less than or equal to the specified

public static GranularInterval<DateTime> FloorToQuarter(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

FloorToHalfYear(Interval<DateTime>)

Returns the largest interval aligned to half-year that is less than or equal to the specified

public static GranularInterval<DateTime> FloorToHalfYear(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

FloorToYear(Interval<DateTime>)

Returns the largest interval aligned to year that is less than or equal to the specified

public static GranularInterval<DateTime> FloorToYear(Interval<DateTime> interval)

Parameters

interval Interval<DateTime>

Returns

GranularInterval<DateTime>

IsInclude<T>(IEnumerable<Interval<T>>, IEnumerable<Interval<T>>)

Returns true if the specified intervals include intervals, otherwise returns false

public static bool IsInclude<T>(IEnumerable<Interval<T>> outer, IEnumerable<Interval<T>> inner)

Type Parameters

T

Parameters

outer IEnumerable<Interval<T>>

inner IEnumerable<Interval<T>>

Returns

Boolean

IsInclude<T>(IEnumerable<Interval<T>>, Interval<T>)

Returns true if the specified intervals include intervals, otherwise returns false

public static bool IsInclude<T>(IEnumerable<Interval<T>> outer, Interval<T> inner)

Type Parameters

T

Parameters

outer IEnumerable<Interval<T>>

inner Interval<T>

Returns

Boolean

IsInclude<T>(Interval<T>, IEnumerable<Interval<T>>)

Returns true if the specified intervals include intervals, otherwise returns false

public static bool IsInclude<T>(Interval<T> outer, IEnumerable<Interval<T>> inner)

Type Parameters

T

Parameters

outer Interval<T>

inner IEnumerable<Interval<T>>

Returns

Boolean

IsInclude<T>(Interval<T>, Interval<T>)

Returns true if the specified intervals include intervals, otherwise returns false

public static bool IsInclude<T>(Interval<T> outer, Interval<T> inner)

Type Parameters

T

Parameters

outer Interval<T>

inner Interval<T>

Returns

Boolean

IsOverlap<T>(IEnumerable<Interval<T>>, IEnumerable<Interval<T>>)

Returns true if the specified and intervals intersect, otherwise returns false

public static bool IsOverlap<T>(IEnumerable<Interval<T>> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right IEnumerable<Interval<T>>

Returns

Boolean

IsOverlap<T>(IEnumerable<Interval<T>>, Interval<T>)

Returns true if the specified and intervals intersect, otherwise returns false

public static bool IsOverlap<T>(IEnumerable<Interval<T>> left, Interval<T> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right Interval<T>

Returns

Boolean

IsOverlap<T>(Interval<T>, IEnumerable<Interval<T>>)

Returns true if the specified and intervals intersect, otherwise returns false

public static bool IsOverlap<T>(Interval<T> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left Interval<T>

right IEnumerable<Interval<T>>

Returns

Boolean

IsOverlap<T>(Interval<T>, Interval<T>)

Returns true if the specified and intervals intersect, otherwise returns false

public static bool IsOverlap<T>(Interval<T> left, Interval<T> right)

Type Parameters

T

Parameters

left Interval<T>

right Interval<T>

Returns

Boolean

Overlap<T>(IEnumerable<Interval<T>>)

Returns the intersection of the specified intervals

public static IEnumerable<Interval<T>> Overlap<T>(IEnumerable<Interval<T>> enumerable)

Type Parameters

T

Parameters

enumerable IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Overlap<T>(IEnumerable<Interval<T>>, IEnumerable<Interval<T>>)

Returns the intersection of the specified and intervals

public static IEnumerable<Interval<T>> Overlap<T>(IEnumerable<Interval<T>> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Overlap<T>(IEnumerable<Interval<T>>, Interval<T>)

Returns the intersection of the specified and intervals

public static IEnumerable<Interval<T>> Overlap<T>(IEnumerable<Interval<T>> left, Interval<T> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right Interval<T>

Returns

IEnumerable<Interval<T>>

Overlap<T>(Interval<T>, IEnumerable<Interval<T>>)

Returns the intersection of the specified and intervals

public static IEnumerable<Interval<T>> Overlap<T>(Interval<T> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left Interval<T>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Overlap<T>(Interval<T>, Interval<T>)

Returns the intersection of the specified and intervals

public static IEnumerable<Interval<T>> Overlap<T>(Interval<T> left, Interval<T> right)

Type Parameters

T

Parameters

left Interval<T>

right Interval<T>

Returns

IEnumerable<Interval<T>>

Round(Interval<DateTime>, TimeSpan, MidpointRounding)

Rounds a to a interval aligned to , and uses the specified rounding convention for midpoint values.

public static GranularInterval<DateTime> Round(Interval<DateTime> interval, TimeSpan granuleSize, MidpointRounding midpointRounding)

Parameters

interval Interval<DateTime>

granuleSize TimeSpan

midpointRounding MidpointRounding

Returns

GranularInterval<DateTime>

RoundToMonth(Interval<DateTime>, MidpointRounding)

Rounds a to a interval aligned to month, and uses the specified rounding convention for midpoint values.

public static GranularInterval<DateTime> RoundToMonth(Interval<DateTime> interval, MidpointRounding midpointRounding)

Parameters

interval Interval<DateTime>

midpointRounding MidpointRounding

Returns

GranularInterval<DateTime>

RoundToQuarter(Interval<DateTime>, MidpointRounding)

Rounds a to a interval aligned to quarter, and uses the specified rounding convention for midpoint values.

public static GranularInterval<DateTime> RoundToQuarter(Interval<DateTime> interval, MidpointRounding midpointRounding)

Parameters

interval Interval<DateTime>

midpointRounding MidpointRounding

Returns

GranularInterval<DateTime>

RoundToHalfYear(Interval<DateTime>, MidpointRounding)

Rounds a to a interval aligned to half-year, and uses the specified rounding convention for midpoint values.

public static GranularInterval<DateTime> RoundToHalfYear(Interval<DateTime> interval, MidpointRounding midpointRounding)

Parameters

interval Interval<DateTime>

midpointRounding MidpointRounding

Returns

GranularInterval<DateTime>

RoundToYear(Interval<DateTime>, MidpointRounding)

Rounds a to a interval aligned to year, and uses the specified rounding convention for midpoint values.

public static GranularInterval<DateTime> RoundToYear(Interval<DateTime> interval, MidpointRounding midpointRounding)

Parameters

interval Interval<DateTime>

midpointRounding MidpointRounding

Returns

GranularInterval<DateTime>

Split(Interval<DateTime>, TimeSpan)

Splits the interval into sub-intervals of length and the rest, which was less than in length

public static IEnumerable<GranularInterval<DateTime>> Split(Interval<DateTime> interval, TimeSpan granuleSize)

Parameters

interval Interval<DateTime>

granuleSize TimeSpan

Returns

IEnumerable<GranularInterval<DateTime>>

SplitByMonths(Interval<DateTime>, Int32)

Splits the interval into sub-intervals of length and the rest, which was less than in length

public static IEnumerable<GranularInterval<DateTime>> SplitByMonths(Interval<DateTime> interval, int monthsCount)

Parameters

interval Interval<DateTime>

monthsCount Int32

Returns

IEnumerable<GranularInterval<DateTime>>

SplitByQuarters(Interval<DateTime>, Int32)

Splits the interval into sub-intervals of length and the rest, which was less than in length

public static IEnumerable<GranularInterval<DateTime>> SplitByQuarters(Interval<DateTime> interval, int quartersCount)

Parameters

interval Interval<DateTime>

quartersCount Int32

Returns

IEnumerable<GranularInterval<DateTime>>

SplitByHalfYears(Interval<DateTime>, Int32)

Splits the interval into sub-intervals of length and the rest, which was less than in length

public static IEnumerable<GranularInterval<DateTime>> SplitByHalfYears(Interval<DateTime> interval, int halfYearsCount)

Parameters

interval Interval<DateTime>

halfYearsCount Int32

Returns

IEnumerable<GranularInterval<DateTime>>

SplitByYears(Interval<DateTime>, Int32)

Splits the interval into sub-intervals of length and the rest, which was less than in length

public static IEnumerable<GranularInterval<DateTime>> SplitByYears(Interval<DateTime> interval, int yearsCount)

Parameters

interval Interval<DateTime>

yearsCount Int32

Returns

IEnumerable<GranularInterval<DateTime>>

Subtract<T>(IEnumerable<Interval<T>>, IEnumerable<Interval<T>>)

Returns the difference between the specified and intervals

public static IEnumerable<Interval<T>> Subtract<T>(IEnumerable<Interval<T>> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Subtract<T>(IEnumerable<Interval<T>>, Interval<T>)

Returns the difference between the specified and intervals

public static IEnumerable<Interval<T>> Subtract<T>(IEnumerable<Interval<T>> left, Interval<T> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right Interval<T>

Returns

IEnumerable<Interval<T>>

Subtract<T>(Interval<T>, IEnumerable<Interval<T>>)

Returns the difference between the specified and intervals

public static IEnumerable<Interval<T>> Subtract<T>(Interval<T> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left Interval<T>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

Subtract<T>(Interval<T>, Interval<T>)

Returns the difference between the specified and intervals

public static IEnumerable<Interval<T>> Subtract<T>(Interval<T> left, Interval<T> right)

Type Parameters

T

Parameters

left Interval<T>

right Interval<T>

Returns

IEnumerable<Interval<T>>

SymmetricDifference<T>(IEnumerable<Interval<T>>)

Returns the symmetric difference between the specified intervals

public static IEnumerable<Interval<T>> SymmetricDifference<T>(IEnumerable<Interval<T>> enumerable)

Type Parameters

T

Parameters

enumerable IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

SymmetricDifference<T>(IEnumerable<Interval<T>>, IEnumerable<Interval<T>>)

Returns the symmetric difference between the specified and intervals

public static IEnumerable<Interval<T>> SymmetricDifference<T>(IEnumerable<Interval<T>> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

SymmetricDifference<T>(IEnumerable<Interval<T>>, Interval<T>)

Returns the symmetric difference between the specified and intervals

public static IEnumerable<Interval<T>> SymmetricDifference<T>(IEnumerable<Interval<T>> left, Interval<T> right)

Type Parameters

T

Parameters

left IEnumerable<Interval<T>>

right Interval<T>

Returns

IEnumerable<Interval<T>>

SymmetricDifference<T>(Interval<T>, IEnumerable<Interval<T>>)

Returns the symmetric difference between the specified and intervals

public static IEnumerable<Interval<T>> SymmetricDifference<T>(Interval<T> left, IEnumerable<Interval<T>> right)

Type Parameters

T

Parameters

left Interval<T>

right IEnumerable<Interval<T>>

Returns

IEnumerable<Interval<T>>

SymmetricDifference<T>(Interval<T>, Interval<T>)

Returns the symmetric difference between the specified and intervals

public static IEnumerable<Interval<T>> SymmetricDifference<T>(Interval<T> left, Interval<T> right)

Type Parameters

T

Parameters

left Interval<T>

right Interval<T>

Returns

IEnumerable<Interval<T>>


< Back

Clone this wiki locally