当前位置:  开发笔记 > 编程语言 > 正文

如何确定字符串是否是C#中的数字

如何解决《如何确定字符串是否是C#中的数字》经验,为你挑选了2个好方法。

我正在开发一个工具,我需要将字符串值转换为正确的对象类型.例如,将字符串转换"2008-11-20T16:33:21Z"DateTime值.数值喜欢"42""42.42"必须转换成一个Int32值和Double分别值.

检测字符串是整数还是数字的最佳和最有效的方法是什么?是Int32.TryParseDouble.TryParse要走的路?



1> David Kemp..:

Int.TryParseDouble.TryParse有实际返回数字的好处.

类似的东西Regex.IsMatch("^\d+$")有一个缺点,你仍然需要再次解析字符串以获取值.



2> Marc Gravell..:

在效率方面,是的,TryParse通常是首选路线.

如果您事先知道(例如,通过反射)目标类型 - 但不想使用switch大块,您可能有兴趣使用TypeConverter- 例如:

        DateTime foo = new DateTime(2008, 11, 20);
        TypeConverter converter = TypeDescriptor.GetConverter(foo);
        string s = converter.ConvertToInvariantString(foo);
        object val = converter.ConvertFromInvariantString(s);

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有