Struct ReadOnlyListSpan<T>
Wraps a List<T> to provide a read-only view of its memory without copying any elements.
It is preferable to use this collection in API designs instead of IReadOnlyCollection
because
Get
Inherited Members
Namespace: Unity.XR.CoreUtils .Collections
Assembly: Unity.XR.CoreUtils.dll
Syntax
public struct ReadOnlyListSpan<T> : IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
Name | Description |
---|---|
T | The element type. |
Remarks
This collection is not thread-safe.
Constructors
ReadOnlyListSpan(List<T>)
Constructs a new instance of this class that is a read-only wrapper around the specified list.
Declaration
public ReadOnlyListSpan(List<T> list)
Parameters
Type | Name | Description |
---|---|---|
List<T> | list | The list to wrap. |
Exceptions
Type | Condition |
---|---|
Argument |
Thrown if |
ReadOnlyListSpan(List<T>, int, int)
Constructs a new instance of this class that is a read-only wrapper around a slice of the specified list.
Declaration
public ReadOnlyListSpan(List<T> list, int start, int length)
Parameters
Type | Name | Description |
---|---|---|
List<T> | list | The list to wrap. |
int | start | The zero-based index at which to begin this slice. |
int | length | The desired length for the slice. |
Exceptions
Type | Condition |
---|---|
Argument |
Thrown if |
Argument |
Thrown if start or length are outside the bounds of the list. |
Properties
Count
The number of elements in the read-only list.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
int | The number of elements. |
this[int]
Returns the element at index
.
Declaration
public T this[int index] { get; }
Parameters
Type | Name | Description |
---|---|---|
int | index | The index. |
Property Value
Type | Description |
---|---|
T |
Methods
Empty()
Returns an empty read-only list with the specified type argument.
Declaration
public static ReadOnlyListSpan<T> Empty()
Returns
Type | Description |
---|---|
Read |
The empty read-only list. |
GetEnumerator()
Returns an enumerator that iterates through the read-only list.
Declaration
public ReadOnlyListSpan<T>.Enumerator GetEnumerator()
Returns
Type | Description |
---|---|
Read |
The enumerator. |
Slice(int, int)
Modifies the existing list to form a slice starting at a specified index for a specified length.
Declaration
public ReadOnlyListSpan<T> Slice(int start, int length)
Parameters
Type | Name | Description |
---|---|---|
int | start | The zero-based index at which to begin this slice. |
int | length | The desired length for the slice. |
Returns
Type | Description |
---|---|
Read |
A new Read |
Exceptions
Type | Condition |
---|---|
Argument |
Thrown if start or length are outside the bounds of the current ReadOnlyListSpan. |