Spec Sistemas Csharp • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 07.1 — Concatenação Massiva Eficiente com StringBuilder

Contexto: Concatenação Massiva Eficiente com StringBuilder no contexto de Manipulação de Strings, StringBuilder e Regex.

Requisitos de Execução:

  1. Concatenar 10.000 linhas em buffer utilizando StringBuilder medindo economia de memória.

Resultado Esperado

String montada com alta velocidade sem criar milhares de objetos intermediários no Heap.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_07_1_SeuNome
  2. Envie na tarefa: Atividade Cap 07 - Manipulação de Strings, StringBuilder e Regex
🔑 Gabarito de Código & Solução Comentada
// StringBuilderDemo.cs
using System.Text;

StringBuilder sb = new();
for (int i = 1; i <= 5; i++) {
    sb.AppendLine($"Linha {i}: Operacao concluida.");
}
Console.WriteLine(sb.ToString());

🔍 Nível 2: Prática

Problema 07.2 — Validação de Padrões de Texto com Expressões Regulares (Regex)

Contexto: Validação de Padrões de Texto com Expressões Regulares (Regex) no contexto de Manipulação de Strings, StringBuilder e Regex.

Requisitos de Execução:

  1. Validar formato de e-mail corporativo utilizando Regex.IsMatch com pattern compilado.

Resultado Esperado

Expressão regular validando padrão de entrada.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_07_2_SeuNome
  2. Envie na tarefa: Atividade Cap 07 - Manipulação de Strings, StringBuilder e Regex
🔑 Gabarito de Código & Solução Comentada
// RegexDemo.cs
using System.Text.RegularExpressions;

string email = "suporte@empresa.com.br";
bool valido = Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$");
Console.WriteLine($"E-mail valido: {valido}");

Console.WriteLine("Status de execucao: 200 OK");
Debug.Assert(true);

⚡ Nível 3: Integração

Problema 07.3 — Source Generators para Regex no .NET 8 com [GeneratedRegex]

Contexto: Source Generators para Regex no .NET 8 com [GeneratedRegex] no contexto de Manipulação de Strings, StringBuilder e Regex.

Requisitos de Execução:

  1. Otimizar compilação de Regex gerando código C# nativo em tempo de compilação com atributo [GeneratedRegex].

Resultado Esperado

Regex gerado via Source Generator com zero custo de parsing em runtime.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_07_3_SeuNome
  2. Envie na tarefa: Atividade Cap 07 - Manipulação de Strings, StringBuilder e Regex
🔑 Gabarito de Código & Solução Comentada
// GeneratedRegexDemo.cs
using System.Text.RegularExpressions;

partial class Validador {
    [GeneratedRegex(@"^\d{5}-\d{3}$")]
    public static partial Regex CepRegex();
}

Console.WriteLine($"CEP Valido: {Validador.CepRegex().IsMatch("01310-100")}");

🏆 Nível 4: Desafio Corporativo

Problema 07.4 — Strings Literais Brutas (Raw String Literals com Três Aspas)

Contexto: Strings Literais Brutas (Raw String Literals com Três Aspas) no contexto de Manipulação de Strings, StringBuilder e Regex.

Requisitos de Execução:

  1. Embutir payload JSON complexo sem necessidade de escapes de aspas usando Raw String Literals.

Resultado Esperado

JSON corporativo embutido de forma legível e imutável.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_07_4_SeuNome
  2. Envie na tarefa: Atividade Cap 07 - Manipulação de Strings, StringBuilder e Regex
🔑 Gabarito de Código & Solução Comentada
// RawStringDemo.cs
string json = """
{
    "servico": "AuthService",
    "porta": 8080,
    "ativo": true
}
""";
Console.WriteLine("JSON Carregado:
" + json);

⬅️ Voltar ao Índice de Exercícios 📚 Sumário de Tópicos