Struct NativeText.ReadOnly
A read-only alias for the value of a NativeText. Does not have its own allocated storage.
Namespace: Unity.Collections
Syntax
[NativeContainer]
[NativeContainerIsReadOnly]
public struct ReadOnly : INativeList<byte>, IIndexable<byte>, IUTF8Bytes, IComparable<string>, IEquatable<string>, IComparable<NativeText>, IEquatable<NativeText>, IComparable<FixedString32Bytes>, IEquatable<FixedString32Bytes>, IComparable<FixedString64Bytes>, IEquatable<FixedString64Bytes>, IComparable<FixedString128Bytes>, IEquatable<FixedString128Bytes>, IComparable<FixedString512Bytes>, IEquatable<FixedString512Bytes>, IComparable<FixedString4096Bytes>, IEquatable<FixedString4096Bytes>
Properties
Capacity
The current capacity in bytes of this string.
Declaration
public int Capacity { readonly get; set; }
Property Value
| Type | Description |
|---|---|
| Int32 | The current capacity in bytes of the string. |
Implements
Remarks
The null-terminator byte is not included in the capacity, so the string's character buffer is Capacity + 1 in size.
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if ENABLE_UNITY_COLLECTIONS_CHECKS is defined and a write is attempted. |
IsEmpty
Whether this string has no characters.
Declaration
public bool IsEmpty { readonly get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean | True if this string has no characters or if the string has not been constructed. |
Implements
Item[Int32]
The byte at an index.
Declaration
public byte this[int index] { readonly get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | index | A zero-based byte index. |
Property Value
| Type | Description |
|---|---|
| Byte | The byte at the index. |
Implements
Exceptions
| Type | Condition |
|---|---|
| IndexOutOfRangeException | Thrown if the index is out of bounds. |
| NotSupportedException | Thrown if ENABLE_UNITY_COLLECTIONS_CHECKS is defined and a write is attempted. |
Length
The current length in bytes of this string.
Declaration
public int Length { readonly get; set; }
Property Value
| Type | Description |
|---|---|
| Int32 | The current length in bytes of the UTF-8 encoded string. |
Implements
Remarks
The length does not include the null terminator byte.
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if ENABLE_UNITY_COLLECTIONS_CHECKS is defined and a write is attempted. |
Value
A copy of this string as a managed string.
Declaration
[CreateProperty]
[ExcludeFromBurstCompatTesting("Returns managed string")]
public readonly string Value { get; }
Property Value
| Type | Description |
|---|---|
| String | A copy of this string as a managed string. |
Remarks
For internal use only. Use ToString() instead.
Methods
Clear()
Sets the length to 0. For a NativeText.Readonly this function does nothing, unless safety checks are enabled (in which case it throws).
Declaration
public void Clear()
Implements
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if ENABLE_UNITY_COLLECTIONS_CHECKS is defined. |
CompareTo(String)
Returns the lexicographical sort order of this string relative to another.
Declaration
[ExcludeFromBurstCompatTesting("Takes managed string")]
public int CompareTo(string other)
Parameters
| Type | Name | Description |
|---|---|---|
| String | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(FixedString128Bytes)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(FixedString128Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString128Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(FixedString32Bytes)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(FixedString32Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString32Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(FixedString4096Bytes)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(FixedString4096Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString4096Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(FixedString512Bytes)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(FixedString512Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString512Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(FixedString64Bytes)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(FixedString64Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString64Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(NativeText)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(NativeText other)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
CompareTo(NativeText.ReadOnly)
Returns the lexicographical sort order of this string relative to another.
Declaration
public int CompareTo(NativeText.ReadOnly other)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Int32 | A number denoting the lexicographical sort order of this string relative to the other string: 0 denotes both strings have the same sort position. |
ElementAt(Int32)
Returns a reference to the byte (not character) at an index. Unsupported by NativeText.ReadOnly.
Declaration
public ref byte ElementAt(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | index | A byte index. |
Returns
| Type | Description |
|---|---|
| Byte | A reference to the byte at the index. |
Implements
Remarks
This function is a no-op when ENABLE_UNITY_COLLECTIONS_CHECKS is not defined, throws otherwise.
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown when called. This operation is not supported. |
Equals(Object)
Returns true if this string and another object are equal.
Declaration
[ExcludeFromBurstCompatTesting("Takes managed object")]
public override bool Equals(object other)
Parameters
| Type | Name | Description |
|---|---|---|
| Object | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if this string and the object are equal. |
Overrides
Remarks
For the object to be equal, it must itself be a managed string, NativeText, or FixedStringNBytes.
Two strings are equal if they have equal length and all their characters match.
Equals(String)
Returns true if this string and another are equal.
Declaration
[ExcludeFromBurstCompatTesting("Takes managed string")]
public bool Equals(string other)
Parameters
| Type | Name | Description |
|---|---|---|
| String | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(FixedString128Bytes)
Returns true if this string and another are equal.
Declaration
public bool Equals(FixedString128Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString128Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(FixedString32Bytes)
Returns true if this string and another are equal.
Declaration
public bool Equals(FixedString32Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString32Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(FixedString4096Bytes)
Returns true if this string and another are equal.
Declaration
public bool Equals(FixedString4096Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString4096Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(FixedString512Bytes)
Returns true if this string and another are equal.
Declaration
public bool Equals(FixedString512Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString512Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(FixedString64Bytes)
Returns true if this string and another are equal.
Declaration
public bool Equals(FixedString64Bytes other)
Parameters
| Type | Name | Description |
|---|---|---|
| FixedString64Bytes | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(NativeText)
Returns true if this string and another are equal.
Declaration
public bool Equals(NativeText other)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equals(NativeText.ReadOnly)
Returns true if this string and another are equal.
Declaration
public bool Equals(NativeText.ReadOnly other)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | other | Another string to compare with. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
GetEnumerator()
Returns an enumerator for iterating over the characters of the NativeText.
Declaration
public NativeText.Enumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| NativeText.Enumerator | An enumerator for iterating over the characters of the NativeText. |
GetHashCode()
Returns a hash code of this string.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| Int32 | A hash code of this string. |
Overrides
Remarks
The hash code is an integer that is always the same for two equal strings but (very likely) different for two unequal strings.
GetUnsafePtr()
Returns a pointer to this string's character buffer.
Declaration
public byte *GetUnsafePtr()
Returns
| Type | Description |
|---|---|
| Byte* | A pointer to this string's character buffer. |
Implements
Remarks
The pointer is made invalid by operations that reallocate the character buffer, such as setting Capacity.
ToString()
Returns a managed string copy of this string.
Declaration
[ExcludeFromBurstCompatTesting("Returns managed string")]
public override string ToString()
Returns
| Type | Description |
|---|---|
| String | A managed string copy of this string. |
Overrides
TryResize(Int32, NativeArrayOptions)
Attempt to set the length in bytes of this string. For NativeText.ReadOnly this function is a no-op and always returns false.
Declaration
public bool TryResize(int newLength, NativeArrayOptions clearOptions = NativeArrayOptions.ClearMemory)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | newLength | The new length in bytes of the string. |
| NativeArrayOptions | clearOptions | Whether any bytes added should be zeroed out. |
Returns
| Type | Description |
|---|---|
| Boolean | Always false. |
Implements
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if ENABLE_UNITY_COLLECTIONS_CHECKS is defined. |
Operators
Equality(in NativeText.ReadOnly, in FixedString128Bytes)
Returns true if two strings are equal.
Declaration
public static bool operator ==(in NativeText.ReadOnly a, in FixedString128Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString128Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equality(in NativeText.ReadOnly, in FixedString32Bytes)
Returns true if two strings are equal.
Declaration
public static bool operator ==(in NativeText.ReadOnly a, in FixedString32Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString32Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equality(in NativeText.ReadOnly, in FixedString4096Bytes)
Returns true if two strings are equal.
Declaration
public static bool operator ==(in NativeText.ReadOnly a, in FixedString4096Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString4096Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equality(in NativeText.ReadOnly, in FixedString512Bytes)
Returns true if two strings are equal.
Declaration
public static bool operator ==(in NativeText.ReadOnly a, in FixedString512Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString512Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Equality(in NativeText.ReadOnly, in FixedString64Bytes)
Returns true if two strings are equal.
Declaration
public static bool operator ==(in NativeText.ReadOnly a, in FixedString64Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString64Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are equal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Inequality(in NativeText.ReadOnly, in FixedString128Bytes)
Returns true if two strings are unequal.
Declaration
public static bool operator !=(in NativeText.ReadOnly a, in FixedString128Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString128Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are unequal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Inequality(in NativeText.ReadOnly, in FixedString32Bytes)
Returns true if two strings are unequal.
Declaration
public static bool operator !=(in NativeText.ReadOnly a, in FixedString32Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString32Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are unequal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Inequality(in NativeText.ReadOnly, in FixedString4096Bytes)
Returns true if two strings are unequal.
Declaration
public static bool operator !=(in NativeText.ReadOnly a, in FixedString4096Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString4096Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are unequal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Inequality(in NativeText.ReadOnly, in FixedString512Bytes)
Returns true if two strings are unequal.
Declaration
public static bool operator !=(in NativeText.ReadOnly a, in FixedString512Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString512Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are unequal. |
Remarks
Two strings are equal if they have equal length and all their characters match.
Inequality(in NativeText.ReadOnly, in FixedString64Bytes)
Returns true if two strings are unequal.
Declaration
public static bool operator !=(in NativeText.ReadOnly a, in FixedString64Bytes b)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeText.ReadOnly | a | A string to compare. |
| FixedString64Bytes | b | Another string to compare. |
Returns
| Type | Description |
|---|---|
| Boolean | True if the two strings are unequal. |
Remarks
Two strings are equal if they have equal length and all their characters match.