我很好奇为什么 .NET TryParse 方法(例如 Int32.TryParse、DateTime.TryParse)不接受对象,而是接受包含要解析的数字的第一个参数的字符串。如果我使用的是 TryParse,我会记住该方法可能会失败,我使用它是为了方便。如果 TryParse 在对象上静默失败并用 0 填充我的结果并返回 false,我会很好。
1 回答
5
.NET Framework 设计人员会给出什么理由让我提出第一个论点
String?
好吧,您必须咨询 .NET Framework 设计人员而不是 Stack Overflow 的社区,但我会试一试。
该代码仅处理
strings。接受 a
object并检查它是否是 astring将对正确使用该功能的其他所有人施加性能损失。像这样的类型
Action<Guid>永远不能有意义地表示一个数字,因此使用string而不是object使调用具有无意义类型的函数变得不可能(即除了false可能的结果之外,还有什么结果?保存函数调用。)TryParse您可以使用任意objects 来模拟自己try/catch和Convert.ToInt32(object)。它不能解决任何问题。
于 2013-07-31T05:37:00.180 回答