Lar*_*rup 11 .net c# string value-type
我正在开发一个工具,我需要将字符串值转换为正确的对象类型.例如,将字符串转换"2008-11-20T16:33:21Z"为DateTime值.数值喜欢"42"和"42.42"必须转换成一个Int32值和Double分别值.
检测字符串是整数还是数字的最佳和最有效的方法是什么?是Int32.TryParse或Double.TryParse要走的路?
Dav*_*emp 20
Int.TryParse并Double.TryParse有实际返回数字的好处.
类似的东西Regex.IsMatch("^\d+$")有一个缺点,你仍然需要再次解析字符串以获取值.
在效率方面,是的,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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5017 次 |
| 最近记录: |