Há uma diferença simples mas importante entre os quatro
ToString( ) gera uma exceção se o objeto for nulo.
Assim, nullObject.ToString( ), sendo nullObject nulo, uma NullReferenceException será lançada.
Convert.ToString( ) retorna string.Empty se o objeto for nulo.
(string) cast assina o objeto se ele for nulo.
MyObject o = (string) NullObject;
Leia mais… »