ToString()字符串转换你用正确了吗?

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

前言
在开发中,ToString()方法常被错误地简单使用为Object.ToString()转换,而实际上应该在转换前先判断对象是否为null,以避免报错。
ToString()
ToString()是基类Object中可以被重写的方法。调用object.ToString()时,如果object为null,则会抛出异常。
ConVert.ToString()
Convert是一个静态类,其ToString方法会检查传递的对象是否为null,是则返回null,否则调用对象的ToString方法。这避免了异常,但null值仍然返回null。
建议使用方式
建议在使用ToString()方法前进行null判断,可以使用if条件判断或三目运算符等方法规避null值,防止对后续操作产生影响。
Object到String的转换方法
转换object到string有四种方法:obj.ToString()、Convert.ToString()、(string)obj、obj as string。obj.ToString()和Convert.ToString()适用于从其他对象获得string,但obj为null时行为不同;ToString()会抛出异常,而Convert.ToString()会返回null。而(string)obj要求obj必须实际为string,否则抛出异常。as关键词则在类型不匹配时返回null,不抛出异常。
总结
正确使用ToString()和Convert.ToString()方法,可以便捷地从对象获取其string表达形式,同时避免不必要的错误。
想要了解更多内容?



白皮书上线