为什么TryParse不接受对象?

时间:2013-07-31 05:18:52

标签: .net

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

1 个答案:

答案 0 :(得分:5)

  

.NET Framework设计人员为什么要让我做出第一个参数String

嗯,你必须在Stack Overflow上问一个.NET Framework设计师而不是社区,但我会采取行动。

  1. 该代码仅处理string s。

  2. 接受object并检查它是否为string会对正确使用该功能的所有人造成性能下降。

  3. Action<Guid>之类的类型永远无法有意义地表示一个数字,因此使用string而不是object会使调用无意义类型的函数成为不可能(即除{{之外的其他结果它可能是吗?保存自己的函数调用。)

  4. 您可以使用falseConvert.ToInt32(object)随意TryParse模仿object

  5. 它没有解决任何问题。