Olá pessoal, eu estou estudando os métodos que derivam da classe Object do C#. Um deles é o ToString(), vi o uso dele na prática e não sei se ainda ficou muito claro o seu uso. Comparando o uso do ToString e de um método criado dentro da classe para exibir qual seria a diferença? Segue o código.
Da classe:
namespace ConsoleAppGetHashToStringEquals;
internal class Pessoa
{
public string Nome { get; set; }
public string Morada { get; set; }
public int Idade { get; set; }
public string Email { get; set; }
public Pessoa() // construtor sem parâmetros, por omissão da construção
{
Nome = "";
Morada = "";
Idade = 0;
Email = "";
}
public Pessoa(string nome, string morada, int idade, string email)
{
Nome = nome;
Morada = morada;
Idade = idade;
Email = email;
}
public Pessoa(Pessoa p) // Construtor de cópia, caso já tenha os valores já de uma pessoa criado
//com isso, será feita uma cópia dessa pessoa para o nosso objeto
{
Nome = p.Nome;
Morada = p.Morada;
Idade = p.Idade;
Email = p.Email;
}
public override string ToString()
{ //Permite fazer a apresentação dos dados do objeto Pessoa
return "\nNome: " + Nome +
"\nMorada: " + Morada +
"\nIdade: " + Idade +
"\nEmail: " + Email + "\n";
}
public void ExibirDetalhes()
{
Console.WriteLine($"Nome1: {Nome}");
Console.WriteLine($"Morada1: {Morada}");
Console.WriteLine($"Idade1: {Idade}");
Console.WriteLine($"Email1: {Nome}");
}
}
Do meu program.cs
using ConsoleAppGetHashToStringEquals;
Pessoa pessoa1 = new();
pessoa1.Nome = "Pedro";
pessoa1.Morada = "EUA";
pessoa1.Idade = 22;
pessoa1.Email = "pepeu13silva@gmail.com";
Console.WriteLine(pessoa1);
Pessoa pessoa2 = new();
pessoa2.Nome = "Lucas";
pessoa2.Morada = "BRA";
pessoa2.Idade = 32;
pessoa2.Email = "lucas10santos@gmail.com";
pessoa2.ExibirDetalhes();