首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么时候应该在C#方法名中使用"Try“?

什么时候应该在C#方法名中使用"Try“?
EN

Stack Overflow用户
提问于 2013-06-20 15:28:46
回答 6查看 17.5K关注 0票数 193

我们正在和我们的同事讨论如果方法名以"Try“开头意味着什么。

有以下几点意见:

当方法可以返回空值时,

  • 使用"Try“。当方法不引发异常时,
  • 使用"Try”。

官方定义是什么?方法名中的“尝试”是什么意思?有关于这方面的官方指南吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-06-20 15:35:02

这被称为TryParse模式,并且已经被微软记录在案。The official Exceptions and Performance MSDN page says

考虑对在常见情况下可能引发异常的成员使用TryParse模式,以避免与异常相关的性能问题。

因此,如果您的代码在常规用例下意味着它可能抛出异常(比如解析一个整数),那么TryParse模式是有意义的。

票数 157
EN

Stack Overflow用户

发布于 2013-06-20 15:31:07

(更正)正如Erik建议的那样,有官方的指导方针。

当我看到TrySomething方法时,我假设它是

我期望的值不会抛出存在的返回值,它是通过‘parameter

  • there’
  • Something方法返回的,它允许我自己处理任何异常。(编辑,杰西·韦伯建议)
票数 127
EN

Stack Overflow用户

发布于 2013-06-20 18:13:00

我认为当你想继续的时候,你应该使用try。方法是否返回某个值并不重要。

情况1:如果返回正常,您可以通过某种方式继续操作。

情况2:如果它没有返回:它仍然是正常的;您可以用其他方法继续。

如果您希望该方法输出一些值,那么可以使用out参数。

示例

代码语言:javascript
复制
int value
if (dictionary.TryGetValue("key", out value))
{
    // Proceed in some way
}
else
{
    // Proceed in some other way
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17207712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档