Class ReadOnlyList<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
GetEnumerator() returns a value-type enumerator and does not perform any heap allocations.
Implements
Inherited Members
Namespace: Unity.XR.CoreUtils.Collections
Assembly: Unity.XR.CoreUtils.dll
Syntax
public class ReadOnlyList<T> : IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, IEquatable<ReadOnlyList<T>>
Type Parameters
| Name | Description |
|---|---|
| T | The element type. |
Remarks
This collection is not thread-safe.
Constructors
ReadOnlyList(List<T>)
Constructs a new instance of this class that is a read-only wrapper around the specified list.
Declaration
public ReadOnlyList(List<T> list)
Parameters
| Type | Name | Description |
|---|---|---|
| List<T> | list | The list to wrap. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Thrown if |
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 ReadOnlyList<T> Empty()
Returns
| Type | Description |
|---|---|
| ReadOnlyList<T> | The empty read-only list. |
Remarks
This method caches an empty read-only list that you can re-use throughout the life cycle of your app.
Equals(object)
Indicates whether the current object is equal to another object of the same type.
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| object | obj | An object to compare with this object. |
Returns
| Type | Description |
|---|---|
| bool |
|
Overrides
Remarks
Two ReadOnlyList instances compare equal if they are read-only views of the same list instance.
Equals(ReadOnlyList<T>)
Indicates whether the current object is equal to another object of the same type.
Declaration
public bool Equals(ReadOnlyList<T> other)
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlyList<T> | other | An object to compare with this object. |
Returns
| Type | Description |
|---|---|
| bool |
|
Remarks
Two ReadOnlyList instances compare equal if they are read-only views of the same list instance.
GetEnumerator()
Returns an enumerator that iterates through the read-only list.
Declaration
public List<T>.Enumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| List<T>.Enumerator | The enumerator. |
GetHashCode()
Get a hash code for this object.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| int | The hash code. |
Overrides
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string | The string. |
Overrides
Operators
operator ==(ReadOnlyList<T>, ReadOnlyList<T>)
Returns true if objects are equal by Equals(ReadOnlyList<T>).
Otherwise, false.
Declaration
public static bool operator ==(ReadOnlyList<T> lhs, ReadOnlyList<T> rhs)
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlyList<T> | lhs | The left-hand side of the comparison. |
| ReadOnlyList<T> | rhs | The right-hand side of the comparison. |
Returns
| Type | Description |
|---|---|
| bool |
|
operator !=(ReadOnlyList<T>, ReadOnlyList<T>)
Returns false if objects are equal by Equals(ReadOnlyList<T>).
Otherwise, true.
Declaration
public static bool operator !=(ReadOnlyList<T> lhs, ReadOnlyList<T> rhs)
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlyList<T> | lhs | The left-hand side of the comparison. |
| ReadOnlyList<T> | rhs | The right-hand side of the comparison. |
Returns
| Type | Description |
|---|---|
| bool |
|