loading...

What are the differences between Convert.ToString() and .ToString() method?

thedotnetweekly profile image The DotNET Weekly ・1 min read

The basic difference between the 2 methods is

  • Convert.ToString() can handle NULL
  • .ToString() does not handle NULL

Let's test this out. In the below code snippet, we have a string object which is set to a value of NULL.

Code Snippet

class Program
{
    public static void Main()
    {
        string name = null;
        Console.WriteLine("Convert.ToString output is = " + Convert.ToString(name));
        Console.WriteLine(".ToString output is = " + name.ToString());
        Console.Read();
    }
}

Output

Convert.ToString output is =

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at test.console.Program.Main() in C:\DevTo\ToString\Program.cs:line 14

The .ToString() method cannot handle NULLs and throws a NullReferenceException.

Let me know in the comments what do you use between these two :)

Follow me on https://www.instagram.com/thedotnetweekly for more such posts.

Posted on Feb 9 by:

thedotnetweekly profile

The DotNET Weekly

@thedotnetweekly

Bi-Weekly posts about dotnet.

Discussion

markdown guide
 

Convert.ToString certainly handles null elegantly, but we can control null coalescence with the instance method too.

aStr?.ToString() ?? "";
 

That is true Sean.Unfortunately, the most common mistake I have seen people do is even after being aware of this and forget to put it until an exception is thrown on production :)