
Recursos avançados do C#
Pattern matching, records, tuples, deconstruction, local functions, parâmetros ref/out
1O que é um record em C#?
O que é um record em C#?
Resposta
Um record é um tipo de referência imutável introduzido no C# 9 que fornece uma sintaxe concisa para criar tipos de dados com igualdade baseada em valor. Ao contrário das classes comuns que usam igualdade por referência, os records comparam os valores de suas propriedades. Use records para DTOs, value objects e tipos imutáveis onde a igualdade baseada em valor é desejável.
2Qual é a diferença entre out e ref em C#?
Qual é a diferença entre out e ref em C#?
Resposta
O parâmetro out não requer inicialização antes da chamada do método mas deve ser atribuído dentro do método, enquanto ref requer inicialização antes da chamada e pode ou não ser modificado no método. Ambos passam por referência, mas out é otimizado para retornar múltiplos valores enquanto ref é usado para modificar uma variável existente. Use out para métodos que retornam múltiplos resultados e ref quando for necessário modificar um valor existente.
3O que é pattern matching em C#?
O que é pattern matching em C#?
Resposta
O pattern matching é um recurso que permite testar um valor contra diferentes padrões (tipos, valores, propriedades) e executar código com base no padrão correspondente. Introduzido no C# 7 e aprimorado em versões posteriores, simplifica estruturas condicionais complexas com switch expressions, property patterns e type patterns. Use o pattern matching para substituir cadeias complexas de if-else e melhorar a legibilidade do código.
O que é um tuple em C# e como declará-lo?
O que é uma local function em C#?
+17 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialização JSON
Entity Framework Core avançado
Clean Architecture
Logging, Monitoring & Observability
Testes unitários e xUnit
Testes de integração
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programação reativa
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Arquitetura de Microsserviços
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis