一个强大的 C# 选项类型
Optional 是 C# 中一个强大的选项/可能类型。
Optional 的核心概念源自两种常见的函数式编程结构,通常称为 maybe 类型和 either 类型(在 Optional 中称为 Option 和 Option)。许多函数式编程语言都不允许 null 值,因为 null 引用可能引入难以发现的错误。maybe 类型是一种安全的替代方案,可以替代 null 值。
一般来说,可选值可以处于两种状态之一:Some(表示存在值)和 None(表示不存在值)。与 null 不同,option 类型会强制用户检查值是否确实存在,从而减少了 null 值带来的许多问题。Option 是 Optional 中的一个结构体,因此不可能将 null 值赋给 option 本身。此外,option 类型比 null 值更加明确,这使基于可选值的 API 更易于理解。现在,类型签名将指示值是否可以缺失!
也许类型与也许类型在概念上相似。也许类型只指示值是否存在,而也许类型包含一个辅助值,用于描述操作失败的情况。除了这个特殊值之外,也许类型的行为与其更简单的对应类型非常相似。处理也许类型和也许类型的方式非常相似,因此下面的描述将主要针对也许类型,并仅提供一个快速总结。
暂无开放 Issues,或尚未同步最近议题。