我很好奇在.NET中转换内建类型的“正确”方法。目前我使用Convert.To[type]([variable])
没有任何空的检查或任何东西。做这个的最好方式是什么?将数据从一种类型转换为另一种类型的“正确”方式是什么?
2
A
回答
3
许多类型都有,你可以使用的TryParse方法。例如:
string input = null;
bool result;
Boolean.TryParse(input, out result);
// result ...
上述内容是有效的,并且在解析输入为空时不会引发异常。
当涉及到将项目转换为字符串时,您几乎总是可以依靠对该对象调用ToString()方法。但是,在空对象上调用它将引发异常。
StringBuilder sb = new StringBuilder();
Console.WriteLine(sb.ToString()); // valid, returns String.Empty
StringBuilder sb = null;
Console.WriteLine(sb.ToString()); // invalid, throws a NullReferenceException
一个例外是在可空类型上调用ToString(),它也会返回String.Empty。
int? x = null;
Console.WriteLine(x.ToString()); // no exception thrown
因此,在调用ToString时要小心;取决于对象,你可能必须明确地检查null。
2
某些类型如int
(Int32
)具有TryParse
方法。 如果存在这样的方法,我尝试使用它。 否则,我做一个空检查,然后几乎Convert.To
如您所述。
不确定是否有“正确”的方式,就像大多数任务是上下文相关的。
善良,
丹
3
1
这要看情况而定。我最好的建议是研究并熟悉,这样你就可以在你自己做出更好的选择,但你应该先看看以下内容
System.Int32.TryParse()
(也有等效于大多数基本类型)
DateTime.ParseExact()
相关问题
- 1. 如何将一种数据类型转换为另一种数据类型?
- 2. 如何将一种数据类型转换为另一种数据类型
- 3. 将一种类型转换为另一种类型
- 4. 将集合从一种类型转换为另一种类型的策略
- 5. 如何将属性从一种类型转换为另一种?
- 6. 如何将一种数字类型的切片转换为另一种类型
- 7. 将scala集合从一种类型转换为另一种类型的复杂性是什么?
- 8. 从一个空类型转换为另一种可空类型
- 9. 如何在vb.net中将数组从一种数据类型转换为另一种数据类型?
- 10. 将数据从一种类型转换为另一种类型存在哪些模式?
- 11. 转换为另一种类型的
- 12. AS3将一种类型转换为另一种
- 13. 如何使用反射将一种类型转换为另一种类型?
- 14. 将一种类型的数据转换为另一种类型的设计模式
- 15. 创建一种函数将一种类型的函数转换为另一种类型
- 16. 通用如何将一种类型的数据转换为另一种类型的数据
- 17. 什么是一种“类型”?
- 18. 如何将表列转换为另一种数据类型
- 19. 将字符串转换为另一种数据类型,Python
- 20. 如何将时间戳转换为另一种数据类型?
- 21. 将LINQ表达式谓词从一种类型更改为另一种类型
- 22. 如何实现从一种类型到另一种类型的自动转换?
- 23. 从表达式的值转换为另一种类型的C#
- 24. 使一种类型成为一种类型或另一种类型
- 25. 类型不匹配无法一种类型转换为另一种
- 26. nvarchar异常 - 在将数据从一种数据类型转换为另一种数据时,数据被截断
- 27. 转换类型ActiveRecord JSON输出属性为另一种类型
- 28. 将一种类型的对象分配给另一种类型
- 29. 将通用类型转换为另一种通用类型扩展方法
- 30. 从一种类型到另一种类型的列表清单
我最喜欢的是当我看到这样的代码:string test =“123”; txtBox.Text = test.ToString();大声笑 – 2009-10-09 06:09:08