为什么C#中没有String.IsNumeric函数

pra*_*ptp 5 c#

我很想知道为什么C#语言团队没有在String对象上提供IsNumeric函数?IsNumeric函数在Int32.TryParse函数的String对象上更合适.

注意:我问这个问题,因为我发现很难向初学者解释这个问题,我不喜欢他们为此诅咒C#!

更新:请问,这个问题与如何实现IsNumeric函数无关.

Mar*_*ath 17

像这样的方法的问题在于决定什么算作"数字".如果它允许小数点,它是否应该允许前导空格,它是否应该有一个数字位数的上限?

Int32.TryParse回答了更明确定义的问题,"这是Int32的有效字符串表示吗?"

当然,没有什么能阻止你编写自己的扩展方法,根据你自己的规则决定字符串是否为数字.

  • 这是因为单个字符或者是数字字符,所以这样的方法是有意义的 (5认同)