docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct Optional<T>

    A struct that can be used to represent an optional value.

    Implements
    IEquatable<Optional<T>>
    Inherited Members
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.AppUI.Core
    Assembly: Unity.AppUI.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
    ValueType.Equals(object)

    Equals(Optional<T>)

    Declaration
    public bool Equals(Optional<T> other)
    Parameters
    Type Name Description
    Optional<T> other
    Returns
    Type Description
    bool

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int
    Overrides
    ValueType.GetHashCode()

    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.

    Implements

    IEquatable<T>
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)