Skip to main content
Version: 0.9.0

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​

MemberDescription
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

NameTypeDescription
textstring

Returns: SessionId

Exceptions

ExceptionCondition
FormatExceptiontext 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

NameTypeDescription
textstring
idSessionId

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

NameTypeDescription
destinationSpan<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

NameTypeDescription
otherSessionIdAn 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

NameTypeDescription
objobjectThe 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

NameTypeDescription
leftSessionId
rightSessionId

Returns: bool

operator !=​

public static bool operator !=(SessionId left, SessionId right)

Parameters

NameTypeDescription
leftSessionId
rightSessionId

Returns: bool