Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

ToString

Minha dúvida é a seguinte, na hora que eu estava fazendo a atividade eu digitei um pouco diferente a conversão do int para string e gostaria de saber se está errado ou não e qual a diferença entre as duas conversões. Meu código na hora de rodar funcionou certinho!

Eu usei dessa forma:

Conta conta = new Conta();
            conta.Titular = new Cliente("Gabriel Pereira");
            conta.Deposita(250.0);
            conta.Numero = 1;
            txtTitular.Text = conta.Titular.Nome;
            txtSaldo.Text = conta.Saldo.ToString();
            txtNumero.Text = conta.Numero.ToString();

Já a resolução do exercício usou

txtSaldo.Text = Convert.ToString(conta.Saldo);
txtNumerto.Text = Convert.ToString(conta.Numero);
3 respostas

Geralmente o toString dos objetos pode apresentar mais informações do que você espera, por exemplo: o toString do int poderia ser: " value = valorDoIntEmSi". Como aí o toString só pega o valor e transforma em String, meio que funciona.

solução!

No C#, o método ToString() de um objeto qualquer difere quanto ao seu tipo, podendo ter uma implementação padrão ou não, por definição, é um método que retorna uma "cadeia de caracteres que representa o objeto", em alguns objetos, pode ser implementado, por exemplo, como um método que retorna uma string que contém os nomes de alguns ou de todos os atributos ou propriedades e seus valores de forma similar a uma representação XML ou JSON do objeto.

No caso do int, assim como em praticamente todos os tipos mais básicos da linguagem (short, int, long, ushort, uint, ulong, float, double, bool, string...), uma chamada ao método ToString() em nada difere de uma chamada do método Convert.ToString() com o objeto que deseja converter como parâmetro.

A principal diferença é, portanto, que a implementação dos métodos da classe Convert é mais amarrada e restrita aos tipos padrões, enquanto o ToString() é muito mais genérico por definição, mas no caso, perfeitamente funcional.

Referências: Object.ToString() https://msdn.microsoft.com/pt-br/library/system.object.tostring(v=vs.110).aspx Int32.ToString() -> Equivalente ao int.ToString() https://msdn.microsoft.com/pt-br/library/6t7dwaa5(v=vs.110).aspx Convert.ToString(int value) https://msdn.microsoft.com/pt-br/library/x70d7t0y(v=vs.110).aspx

No "Curso C# III: Lidando com exceções, manipulando arquivos e listas" o professor explica que o ToString() é um dos métodos herdados da classe object, que é pai de todos os objetos.

Nesse seu caso, ele fez a mesma coisa que o Convert.ToString(), mas nem sempre será assim! Em vez de explicar por aqui, o melhor mesmo é você assistir as aulas do curso C# II e C#III que terá um entendimento completo da situação! hahahah

Vlwww!!