Range Struct

Definition

Represents a range that has start and end indexes.

public value class Range : IEquatable<Range>
public readonly struct Range : IEquatable<Range>
type Range = struct
Public Structure Range
Implements IEquatable(Of Range)
Inheritance
Implements

Remarks

Range is used by the C# compiler to support the range syntax:

int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
int[] subArray1 = someArray[0..2];               // { 1, 2 }
int[] subArray2 = someArray[1..^0];              // { 2, 3, 4, 5 }

Constructors

Range(Index, Index)

Instantiates a new Range instance with the specified starting and ending indexes.

Properties

All

Gets a Range object that starts from the first element to the end.

End

Gets an Index that represents the exclusive end index of the range.

Start

Gets the inclusive start index of the Range.

Methods

EndAt(Index)

Creates a Range object starting from the first element in the collection to a specified end index.

Equals(Object)

Returns a value that indicates whether the current instance is equal to a specified object.

Equals(Range)

Returns a value that indicates whether the current instance is equal to another Range object.

GetHashCode()

Returns the hash code for this instance.

GetOffsetAndLength(Int32)

Calculates the start offset and length of the range object using a collection length.

StartAt(Index)

Returns a new Range instance starting from a specified start index to the end of the collection.

ToString()

Returns the string representation of the current Range object.

Applies to