SessionId struct
A session's 16-byte UUID. Compared by content; default(SessionId) equals
SessionId.Default.
Namespace: Quaternar.Qaros · Assembly: Quaternar.Qaros.dll · Source: QarTypes.cs
public readonly struct SessionId : IEquatable<SessionId>
Implements: IEquatable<SessionId>
Properties
Default
The all-zero id, meaning "none".
public static SessionId Default { get; }
Value: SessionId
Methods
| Member | Description |
|---|---|
| Unique() | |
| Parse(string) | Parses the UUID text SessionId.ToString produces. |
| TryParse(string, out SessionId) | Parses the UUID text SessionId.ToString produces; false, with a default id, when it is not one. |
| ToByteArray() | A copy of the 16 bytes. |
| AsSpan() | |
| TryCopyTo(Span<byte>) | Copies the 16 bytes; false, copying nothing, when destination is shorter. |
| ToString() | The 36-character UUID text, which SessionId.Parse accepts back. |
| Equals(SessionId) | Indicates whether the current object is equal to another object of the same type. |
| Equals(object?) | Indicates whether this instance and a specified object are equal. |
| GetHashCode() | Returns the hash code for this instance. |
Unique
public static SessionId Unique()
Returns: SessionId
Parse
Parses the UUID text SessionId.ToString produces.
public static SessionId Parse(string text)
Parameters
| Name | Type | Description |
|---|---|---|
text | string |
Returns: SessionId
Exceptions
| Exception | Condition |
|---|---|
| FormatException | text is not a UUID string. |
TryParse
Parses the UUID text SessionId.ToString produces; false, with a default id, when it is not one.
public static bool TryParse(string text, out SessionId id)
Parameters
| Name | Type | Description |
|---|---|---|
text | string | |
id | SessionId |
Returns: bool
ToByteArray
A copy of the 16 bytes.
public byte[] ToByteArray()
Returns: byte[]
AsSpan
public ReadOnlySpan<byte> AsSpan()
Returns: ReadOnlySpan<byte>
TryCopyTo
Copies the 16 bytes; false, copying nothing, when destination is shorter.
public bool TryCopyTo(Span<byte> destination)
Parameters
| Name | Type | Description |
|---|---|---|
destination | Span<byte> |
Returns: bool
ToString
The 36-character UUID text, which SessionId.Parse accepts back.
public override string ToString()
Returns: string
Equals(SessionId)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(SessionId other)
Parameters
| Name | Type | Description |
|---|---|---|
other | SessionId | An object to compare with this object. |
Returns: bool — true if the current object is equal to the other parameter; otherwise, false.
Equals(object?)
Indicates whether this instance and a specified object are equal.
public override bool Equals(object? obj)
Parameters
| Name | Type | Description |
|---|---|---|
obj | object | The object to compare with the current instance. |
Returns: bool — true if obj and this instance are the same type and represent the same value; otherwise, false.
GetHashCode
Returns the hash code for this instance.
public override int GetHashCode()
Returns: int — A 32-bit signed integer that is the hash code for this instance.
Operators
operator ==
public static bool operator ==(SessionId left, SessionId right)
Parameters
| Name | Type | Description |
|---|---|---|
left | SessionId | |
right | SessionId |
Returns: bool
operator !=
public static bool operator !=(SessionId left, SessionId right)
Parameters
| Name | Type | Description |
|---|---|---|
left | SessionId | |
right | SessionId |
Returns: bool