Struct Optional<T>
A struct that can be used to represent an optional value.
Implements
Inherited Members
Namespace: Unity.AppUI.Core
Assembly: solution.dll
Syntax
[Serializable]
public struct Optional<T> : IEquatable<Optional<T>>
Type Parameters
Name | Description |
---|---|
T |
Constructors
Optional(T)
Constructs an Optional<T> with the given value.
Declaration
public Optional(T value)
Parameters
Type | Name | Description |
---|---|---|
T | value | The value to set. |
Remarks
The IsSet property will become true.
Properties
IsSet
Whether the value is set.
Declaration
public bool IsSet { get; }
Property Value
Type | Description |
---|---|
bool |
Value
The current value.
Declaration
public T Value { get; }
Property Value
Type | Description |
---|---|
T |
Remarks
This property will throw an exception if IsSet is false. Please use IsSet to check if the value is set.
none
An Optional<T> with no value set.
Declaration
public static Optional<T> none { get; }
Property Value
Type | Description |
---|---|
Optional<T> |
Methods
Equals(object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj |
Returns
Type | Description |
---|---|
bool |
Overrides
Equals(Optional<T>)
Indicates whether the current object is equal to another object of the same type.
Declaration
public bool Equals(Optional<T> other)
Parameters
Type | Name | Description |
---|---|---|
Optional<T> | other | An object to compare with this object. |
Returns
Type | Description |
---|---|
bool | true if the current object is equal to the |
GetHashCode()
Serves as the default hash function.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A hash code for the current object. |
Overrides
Operators
operator ==(Optional<T>, Optional<T>)
Determines whether two Optional<T>s are equal.
Declaration
public static bool operator ==(Optional<T> left, Optional<T> right)
Parameters
Type | Name | Description |
---|---|---|
Optional<T> | left | The first Optional<T> to compare. |
Optional<T> | right | The second Optional<T> to compare. |
Returns
Type | Description |
---|---|
bool | Whether the two Optional<T>s are equal. |
implicit operator Optional<T>(T)
Automatically converts a value to an Optional<T>.
Declaration
public static implicit operator Optional<T>(T value)
Parameters
Type | Name | Description |
---|---|---|
T | value | The value to convert. |
Returns
Type | Description |
---|---|
Optional<T> | An Optional<T> with the given value. |
Remarks
The IsSet property will become true.
operator !=(Optional<T>, Optional<T>)
Determines whether two Optional<T>s are not equal.
Declaration
public static bool operator !=(Optional<T> left, Optional<T> right)
Parameters
Type | Name | Description |
---|---|---|
Optional<T> | left | The first Optional<T> to compare. |
Optional<T> | right | The second Optional<T> to compare. |
Returns
Type | Description |
---|---|
bool | Whether the two Optional<T>s are not equal. |