我很好奇在 .NET 中转换内置类型的“正确”方法是什么。目前我使用 Convert.To[type]([variable])
没有任何空检查或任何东西。执行此操作的最佳方法是什么?
最佳答案
许多类型都有一个您可以使用的 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
一个异常(exception)是在可空类型上调用 ToString(),这也会返回 String.Empty。
int? x = null;
Console.WriteLine(x.ToString()); // no exception thrown
因此,调用 ToString 时要小心;根据对象的不同,您可能必须显式检查 null。
关于c# - 将数据从一种类型转换为另一种类型的 "right"方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1541908/