Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduardo Sucena

Diferença entre ToString() e Convert.ToString()

Recommended Posts

Salve galera, beleza?Gostaria de saber realmente qual a diferenca entre ToString e Convert.ToString. Efetuei alguns testes e se o elemento for null e utilizarmos o .toString nele, lógico que teremos erros - como posso transformar um null em string?Por outro lado, utilizando o convert.toString(var), onde var = null, temos como resposta "" e nehhum erro.Já verifiquei que determinados objetos como Session[], mesmo Null e utilizarmos o .toString não ocorrem erros.Alguemsabe me exlpicar pq isso ocorre e prncipalmente diferenciar os comandos.Vlw e Até +

Compartilhar este post


Link para o post
Compartilhar em outros sites

ToString() é um método de instância de uma classe, portanto se o objeto for null ele sempre dará erro ( não é possivel executar uma função em um objeto que não existe).

 

Ja Convert.ToString() é um método estático da classe Convert

A implementação dos dois (sobre como determinar o que retornar), realmente não deve ter diferença, só que o método de instancia ToString() por ser um override traz funcionalidade interessantes.

 

Por exemplo:

 

public class Teste{     public static void Main()    {            Teste t = new Teste();           Console.WriteLine( t );    }}

Nesse exemplo o retorno será "Teste", que é o nome da classe.

 

 

Ja se voce fizer isso:

 

 

public class Teste{     public static void Main()    {            Teste t = new Teste();           Console.WriteLine( t );    }    public override string ToString()    {          return "Minha Classe";    }}

 

Será impresso na tela "Minha Classe", pq ToString() é chamado implicitamente no WriteLine (e caso voce não tenha implementado na sua classe ele usará o que estiver disponivel mais proximo, na hierarquia das heranças).

 

Fora isso não tem diferença mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.