🧩 Exercícios: Ecossistema .NET 8, CLR, CLI dotnet e Estrutura Sequencial
Spec Sistemas Csharp • Trilha Progressiva em 4 Níveis
🧭 Navegação Pedagógica
-
📖 Teoria do Capítulo 💻 Exemplos 📊 Slides 🧠 Quiz
🎯 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:
- 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)
- Salve o arquivo como:
Atividade_01_1_SeuNome - 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:
- Configurar
.csprojcom<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)
- Salve o arquivo como:
Atividade_01_2_SeuNome - 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:
- Medir memória alocada com
GC.GetTotalMemory(true)e forçar coleta pontual comGC.Collect().
Resultado Esperado
Métricas de consumo de heap e coletas geracionais inspecionadas.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_3_SeuNome - 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:
- 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)
- Salve o arquivo como:
Atividade_01_4_SeuNome - 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 |