1

我很好奇为什么 .NET TryParse 方法(例如 Int32.TryParse、DateTime.TryParse)不接受对象,而是接受包含要解析的数字的第一个参数的字符串。如果我使用的是 TryParse,我会记住该方法可能会失败,我使用它是为了方便。如果 TryParse 在对象上静默失败并用 0 填充我的结果并返回 false,我会很好。

4

1 回答 1

5

.NET Framework 设计人员会给出什么理由让我提出第一个论点String

好吧,您必须咨询 .NET Framework 设计人员而不是 Stack Overflow 的社区,但我会试一试。

  1. 该代码仅处理strings。

  2. 接受 aobject并检查它是否是 astring将对正确使用该功能的其他所有人施加性能损失。

  3. 像这样的类型Action<Guid>永远不能有意义地表示一个数字,因此使用string而不是object使调用具有无意义类型的函数变得不可能(即除了false可能的结果之外,还有什么结果?保存函数调用。)

  4. TryParse您可以使用任意objects 来模拟自己try/catchConvert.ToInt32(object)

  5. 它不能解决任何问题。

于 2013-07-31T05:37:00.180 回答