リポジトリ
使用例
using Kogane; using UnityEngine; public sealed class Example : MonoBehaviour { private static Optional<string> GetName() { return default; } private void Start() { var name = GetName(); // 値を持っている場合 if ( name ) { Debug.Log( name ); } // 無効値の場合 else { Debug.Log( "無効値" ); } // 値を取得、無効値の場合はデフォルト値を取得 Debug.Log( name.GetOrDefault() ); // 値を取得、無効値の場合は引数に渡した値を取得 Debug.Log( name.GetOrDefault( "無効値" ) ); // 暗黙的なキャスト string str = name; // 暗黙的なキャスト name = "ピカチュウ"; } }
使用用途
- 無効な値を表す際に -1 や null の代わりに使用する想定になります
- C++ の std::optional を参考にしています