1
resposta

[Projeto] Desafio: hora da prática

1 -
Pessoa.cs

class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public string Email { get; set; }
}

Program.cs

using System.Text.Json;

class Program
{
    static void Main()
    {
        Pessoa pessoa = new Pessoa();
        Console.Write("Digite o nome: ");
        pessoa.Nome = Console.ReadLine();
        Console.Write("Digite a idade: ");
        pessoa.Idade = int.Parse(Console.ReadLine());
        Console.Write("Digite o e-mail: ");
        pessoa.Email = Console.ReadLine();

        string jsonString = JsonSerializer.Serialize(pessoa);

        string fileName = "pessoa.json";

        File.WriteAllText(fileName, jsonString);

        Console.WriteLine($"Os dados foram salvos em {fileName}");
    }
}

2 -
Pessoa.cs

class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public string Email { get; set; }
}

Program.cs

using System.Text.Json;

string fileName = "pessoa.json";

if (File.Exists(fileName))
{
    string jsonString = File.ReadAllText(fileName);

    Pessoa pessoa = JsonSerializer.Deserialize<Pessoa>(jsonString);

    Console.WriteLine($"Nome: {pessoa?.Nome}");
    Console.WriteLine($"Idade: {pessoa?.Idade}");
    Console.WriteLine($"E-mail: {pessoa?.Email}");
} else
{
    Console.WriteLine($"O arquivo {fileName} não existe.");
}

3 -
Pessoa.cs

class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public string Email { get; set; }
}

Program.cs

using System.Text.Json;

        List<Pessoa> pessoas = new List<Pessoa>();

        while (true)
        {
            Pessoa pessoa = new Pessoa();
            Console.Write("Digite o nome (ou 'sair' para encerrar): ");
            string nome = Console.ReadLine();

            if (nome.ToLower() == "sair")
                break;

            pessoa.Nome = nome;

            Console.Write("Digite a idade: ");
            pessoa.Idade = int.Parse(Console.ReadLine());

            Console.Write("Digite o e-mail: ");
            pessoa.Email = Console.ReadLine();

            pessoas.Add(pessoa);
        }

        string jsonString = JsonSerializer.Serialize(pessoas);

        string fileName = "pessoas.json";

        File.WriteAllText(fileName, jsonString);

        Console.WriteLine($"Os dados foram salvos em {fileName}");

4 -
Pessoa.cs

class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public string Email { get; set; }
}

Program.cs

using System.Text.Json;

string fileName = "pessoas.json";

if (File.Exists(fileName))
{
    string jsonString = File.ReadAllText(fileName);

    List<Pessoa> pessoas = JsonSerializer.Deserialize<List<Pessoa>>(jsonString);

    Console.WriteLine("Informações das Pessoas:");

    foreach (Pessoa pessoa in pessoas)
    {
        Console.WriteLine($"Nome: {pessoa.Nome}, Idade: {pessoa.Idade}, E-mail: {pessoa.Email}");
    }
}
else
{
    Console.WriteLine($"O arquivo {fileName} não existe.");
}

5 -
Pessoa.cs

class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }
    public string Email { get; set; }
}

Program.cs

using System.Text.Json;

string fileName = "pessoas.json";

if (File.Exists(fileName))
{
    string jsonString = File.ReadAllText(fileName);

    List<Pessoa> pessoas = JsonSerializer.Deserialize<List<Pessoa>>(jsonString);

    Console.Write("Digite a idade para buscar pessoas: ");
    int idadeParaBuscar = int.Parse(Console.ReadLine());

    List<Pessoa> pessoasComIdade = pessoas.Where(p => p.Idade == idadeParaBuscar).ToList();

    if (pessoasComIdade.Any())
    {
        Console.WriteLine($"Pessoas com {idadeParaBuscar} anos:");

        foreach (Pessoa pessoa in pessoasComIdade)
        {
            Console.WriteLine($"Nome: {pessoa.Nome}, E-mail: {pessoa.Email}");
        }
    }
    else
    {
        Console.WriteLine($"Nenhuma pessoa encontrada com {idadeParaBuscar} anos.");
    }
}
else
{
    Console.WriteLine($"O arquivo {fileName} não existe.");
}
1 resposta

Olá, Matheus! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da serialização com JsonSerializer para persistência de dados com C#, utilizou muito bem a lista genérica para armazenar múltiplos objetos e ainda compreendeu a importância da desserialização para recuperar informações de forma estruturada.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!