我很好奇为什么.NET TryParse方法(例如Int32.TryParse,DateTime.TryParse)不接受Object而是接受包含要解析的数字的第一个参数的String.如果我正在使用TryParse,我要记住该方法可能会失败,我正在使用它以方便使用.我会没事的,TryParse默默地对对象失败并用0填充我的结果并返回false.
.NET Framework设计人员给出我第一个参数的原因是
String什么?
那么你必须在Stack Overflow上问一个.NET Framework设计师而不是社区,但我会采取行动.
该代码仅处理strings.
接受object并检查它string是否会对正确使用该功能的所有人施加性能损失.
类似的类型Action<Guid>永远不会有意义地表示一个数字,所以使用string而不是object使得调用具有无意义类型的函数是不可能的(即除了false它可能是什么结果?保存自己的函数调用.)
您可以使用和TryParse任意objects 模拟自己.try/catchConvert.ToInt32(object)
它没有解决任何问题.