variable.ToString()与Convert.ToString(variable)

假设我有一个整数,我需要将其转换为字符串(例如,我可能通过TextBox向用户显示该值。

我应该更喜欢.ToString()还是Convert.ToString() 。 他们都做同样的事情(不是吗?)。

 int someValue = 4; // You can do this txtSomeValue.Text = someValue.ToString(); // Or this... txtSomeValue.Text = Convert.ToString(someValue); 

假设两者之间没有运行时差异,那么我的理由归结为美学和一致性。 最近我一直偏爱Convert.ToString()对我来说它说“嘿,我希望这个东西的是一个字符串”。 但是我知道这并不严格……

一个测试是

 //This will set the variable test to null: string test = Convert.ToString(ConfigurationSettings.AppSettings["Missing.Value"]); //This will throw an exception: string test = ConfigurationSettings.AppSettings["Missing.Value"].ToString(); 

从http://weblogs.asp.net/jgalloway/archive/2003/11/06/36308.aspx获得上述准备好的示例

你可以在http://blogs.msdn.com/brada/archive/2005/03/10/392332.aspx找到两者之间的一些基准。

所以,这取决于你喜欢什么,你的风格是什么。

由于具有大量重载,Convert.ToString()可用作各种输入类型的全能型,在处理潜在类型的类型时非常方便。 如果你知道你的输入肯定是一个“int”,我会直接使用ToString()方法(这就是Convert.ToString()将由代理调用的方法。)