Spec Sistemas Csharp • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 01.1 — Top-Level Statements e Interpolação de Strings ($)

Contexto: Top-Level Statements e Interpolação de Strings ($) no contexto de Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial.

Requisitos de Execução:

  1. Escrever programa em C# 12 / .NET 8 utilizando Top-Level Statements e interpolação de strings.

Resultado Esperado

Console application .NET 8 executada com sucesso.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_1_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
// Program.cs
string versao = "8.0";
string ambiente = "Producao";
Console.WriteLine($"Ecossistema .NET {versao} inicializado no ambiente de {ambiente}.");
Console.WriteLine("Execucao gerenciada pelo CoreCLR com JIT nativo.");

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

🔍 Nível 2: Prática

Problema 01.2 — Manifesto de Projeto (.csproj) e Propriedades de Compilação

Contexto: Manifesto de Projeto (.csproj) e Propriedades de Compilação no contexto de Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial.

Requisitos de Execução:

  1. Configurar .csproj com <Nullable>enable</Nullable>, <ImplicitUsings>enable</ImplicitUsings> e <TreatWarningsAsErrors>true</TreatWarningsAsErrors>.

Resultado Esperado

Arquivo de projeto .NET configurado para compilação estrita.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_2_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  </PropertyGroup>
</Project>

⚡ Nível 3: Integração

Problema 01.3 — Inspeção do Ciclo de Vida do Garbage Collector (GC)

Contexto: Inspeção do Ciclo de Vida do Garbage Collector (GC) no contexto de Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial.

Requisitos de Execução:

  1. Medir memória alocada com GC.GetTotalMemory(true) e forçar coleta pontual com GC.Collect().

Resultado Esperado

Métricas de consumo de heap e coletas geracionais inspecionadas.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_3_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
// GcInspector.cs
long memoriaAntes = GC.GetTotalMemory(false);
byte[] buffer = new byte[1024 * 1024 * 5]; // 5 MB
Console.WriteLine($"Memoria Alocada: {GC.GetTotalMemory(false) / 1024} KB");
buffer = null!;
GC.Collect();
Console.WriteLine($"Memoria Apos Coleta: {GC.GetTotalMemory(true) / 1024} KB");

🏆 Nível 4: Desafio Corporativo

Problema 01.4 — Publicação AOT (Ahead-Of-Time Compilation) com Native AOT

Contexto: Publicação AOT (Ahead-Of-Time Compilation) com Native AOT no contexto de Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial.

Requisitos de Execução:

  1. Configurar <PublishAot>true</PublishAot> para compilar executável binário nativo sem dependência do runtime .NET instalado.

Resultado Esperado

Binário nativo Native AOT compilado com inicialização instantânea em 2ms.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_4_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
<!-- PublishAot.csproj -->
<PropertyGroup>
  <PublishAot>true</PublishAot>
  <InvariantGlobalization>true</InvariantGlobalization>
  <StripSymbols>true</StripSymbols>
</PropertyGroup>

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