gpt4 book ai didi

.net - 什么时候 "Try"方法优于 "null"结果?

转载 作者:行者123 更新时间:2023-12-01 10:07:17 25 4
gpt4 key购买 nike

在 .NET Framework 中(泛型的出现前后),出现了 Try[method] 模式来帮助处理需要指示操作未能成功完成而不抛出异常的情况异常。

在失败被认为是正常的(例如解析)而不是异常(exception)的情况下,这显然是一个值得遵循的模式。

但是,如果一个方法可以返回null,表明它未能成功获取值(例如在Find方法的情况下),这是否考虑得更多比使用返回值清楚指示成功或失败的 TryFind 方法更正确? .NET Framework 是否为此模式设定了任何先例?

最佳答案

我相信 TryX 模式早于 Nullable<T> .NET 2.0 中添加的类型。 Nullable<T>解决了值类型的问题以及默认类型值是否有效/无效之间的潜在差异。然而,即使添加了这些内容,我相信 TryX 模式仍然具有值(value)。

TryX 模式的两个主要优点是:

  • 返回值没有歧义。
  • 异常安全。

Nullable<T>类型消除了歧义,但不提供异常安全。

我不相信有一个具体的优先级集,但如果您的方法需要保证这些,那么我会使用 TryX 模式。

关于.net - 什么时候 "Try"方法优于 "null"结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9183192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com