我很好奇为什么.NET TryParse方法(例如Int32.TryParse,DateTime.TryParse)不接受Object而是接受包含要解析的数字的第一个参数的String。如果我正在使用TryParse,我要记住该方法可能会失败,我正在使用它以方便使用。我会没事的,TryParse默默地在对象上失败并用0填充我的结果并返回false。
答案 0 :(得分:5)
.NET Framework设计人员为什么要让我做出第一个参数
String
?
嗯,你必须在Stack Overflow上问一个.NET Framework设计师而不是社区,但我会采取行动。
该代码仅处理string
s。
接受object
并检查它是否为string
会对正确使用该功能的所有人造成性能下降。
Action<Guid>
之类的类型永远无法有意义地表示一个数字,因此使用string
而不是object
会使调用无意义类型的函数成为不可能(即除{{之外的其他结果它可能是吗?保存自己的函数调用。)
您可以使用false
和Convert.ToInt32(object)
随意TryParse
模仿object
。
它没有解决任何问题。