variable.ToString() vs. Convert.ToString(variable)

Let's say I have an integer that I need to convert to a string (I might be displaying the value to the user by means of a TextBox, for example.

Should I prefer .ToString() or Convert.ToString(). They both do the same thing (don't they?).

int someValue = 4;

// You can do this
txtSomeValue.Text = someValue.ToString();

// Or this...
txtSomeValue.Text = Convert.ToString(someValue);

Assuming that there is no runtime difference between the two, then my reasons come down to aesthetics and consistency. Recently I have been favouring Convert.ToString() as to me it says "hey, I want the value of this thing as a string". However I know that this is not strictly true...


One test is

//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();

Got the above ready example from

You can find some benchmarks between the two at

So, it depends what you prefer and what your style is.

With its large number of overloads, Convert.ToString() is useful as a catch-all for all sorts of input types, handy when you are dealing with a potential range of types. If you know that your input is definitely an "int", I would use the ToString() method on it directly (that's what Convert.ToString() is going to be calling by proxy anyways.)

Need Your Help

Multi line text in Flex doesnt recalculate when runtime css is changed

flex runtime stylesheet

For loading time considerations I am using a runtime css file in my Flex Application.

Extracting date from a file using regex

php regex

I wanted to include a code in my source code to extract date from a log file which contains only this line: