Termos de C#
150 termos de C# em português. .NET, LINQ, programação assíncrona e os recursos modernos da linguagem.
#
A
- abstract classClasse que não pode ser instanciada e serve de base para outras, podendo trazer implementação parcial e…
- anonymous typeTipo imutável sem nome, criado com new { Prop = valor }. O compilador infere as propriedades, e é usado…
- appsettingsArquivo appsettings.json, de configuração do ASP.NET Core, lido na inicialização. Variações como…
- ArrayPoolPool compartilhado de arrays reutilizáveis (ArrayPool<T>.Shared). Você aluga um buffer com Rent e o devolve…
- as operatorOperador de conversão segura entre tipos de referência e anuláveis: devolve o objeto convertido ou null…
- AsNoTrackingMétodo do EF Core que executa a consulta sem registrar as entidades no change tracker. Poupa memória e CPU…
- ASP.NET CoreFramework web multiplataforma do .NET para construir APIs, sites e serviços, com servidor Kestrel, pipeline…
- assemblyUnidade compilada e versionada do .NET, geralmente uma DLL ou EXE, que contém IL, metadados e recursos. É o…
- async awaitPar de palavras-chave que escreve código assíncrono em estilo sequencial: async marca o método e await…
- async state machineEstrutura que o compilador gera para cada método async: guarda variáveis locais e o ponto de retomada…
- async voidMétodo assíncrono sem retorno de Task. O chamador não consegue aguardar nem capturar suas exceções, que…
- atributoMetadado declarado entre colchetes sobre tipos, métodos ou parâmetros, como [Obsolete] ou [HttpGet], lido…
B
- BenchmarkDotNetBiblioteca de microbenchmarks para .NET que cuida de aquecimento, repetições e estatísticas. Com o atributo…
- boxingConversão de um value type para object ou interface, que aloca um objeto no heap e copia o valor; unboxing é…
C
- CancellationTokenStruct que sinaliza um pedido de cancelamento cooperativo, criado por um CancellationTokenSource e repassado…
- change trackerMecanismo do EF Core que guarda o estado (Added, Modified, Deleted, Unchanged) de cada entidade carregada e…
- ChannelFila assíncrona e thread-safe de System.Threading.Channels para o padrão produtor-consumidor. Um lado…
- classe parcialClasse dividida em vários arquivos com a palavra partial; o compilador junta as partes em um só tipo, o que…
- CLRCommon Language Runtime: ambiente de execução do .NET que carrega assemblies, compila IL em código nativo…
- collection expressionSintaxe do C# 12 com colchetes, como [1, 2, 3], que cria arrays, listas, spans e outras coleções conforme o…
- ConcurrentDictionaryDicionário seguro para acesso por várias threads, com operações compostas como GetOrAdd e AddOrUpdate, sem…
- ConfigureAwaitMétodo de Task que controla se a continuação após o await volta ao contexto de sincronização capturado…
- constDeclara uma constante resolvida em tempo de compilação. O valor é gravado diretamente nos pontos de uso, e…
- covariância de arraysEm C#, arrays de um tipo de referência derivado podem ser atribuídos a arrays do tipo base (string[] para…
- covariância e contravariânciaRegras que permitem usar um tipo genérico mais derivado (out, covariância) ou mais base (in…
D
- DbContextClasse central do EF Core que representa uma sessão com o banco: expõe os DbSet das entidades, rastreia…
- decimalTipo numérico de 128 bits com base 10, de alta precisão decimal. É o indicado para valores monetários porque…
- deconstructionSintaxe que separa uma tupla ou objeto em variáveis de uma vez, como var (x, y) = ponto, usando tuplas ou um…
- default interface methodMétodo de interface com corpo padrão (C# 8), usado quando os implementadores não o definem; permite evoluir…
- defensive copyCópia que o compilador faz de uma struct para chamar membros quando ela está em campo readonly ou em…
- deferred executionComportamento do LINQ em que a consulta só é executada quando o resultado é enumerado (foreach, ToList…
- delegateTipo que representa uma referência segura a um método com certa assinatura; permite passar comportamento…
- dotnet CLIInterface de linha de comando do SDK do .NET, usada para criar, compilar, testar, executar e publicar…
- dynamicTipo cuja verificação de membros é adiada para a execução, via DLR. O compilador aceita qualquer chamada, e…
E
- eager loadingCarregar entidades relacionadas na mesma consulta usando Include e ThenInclude do EF Core, em vez de…
- Entity FrameworkORM oficial da Microsoft para .NET. Mapeia classes para tabelas, traduz consultas LINQ em SQL e rastreia…
- enumTipo de valor que define um conjunto nomeado de constantes inteiras. Dá nomes legíveis a estados e opções…
- eventMembro que expõe uma notificação baseada em delegate: outros objetos se inscrevem com += e -=, mas só o dono…
- exception filterCláusula when em um catch que decide se o bloco trata a exceção. Se for falsa, a exceção segue propagando, e…
- explicit interface implementationImplementação de um membro de interface escrita como IFoo.Metodo, que só fica visível quando o objeto é…
- expression treeRepresentação em objetos da estrutura de um código, como uma lambda, em Expression<T>. Provedores como o EF…
- extension membersRecurso do C# 14 que declara propriedades, operadores e métodos de extensão em blocos extension(...) dentro…
- extension methodMétodo estático, em uma classe estática, cujo primeiro parâmetro leva this e que pode ser chamado como se…
F
- fieldPalavra contextual do C# 14 que dá acesso, dentro de um acessador de propriedade, ao campo de apoio gerado…
- file-scoped namespaceForma namespace Nome; com ponto e vírgula, que vale para o arquivo inteiro e evita um nível de chaves e de…
- finalizerMétodo ~Tipo() chamado pelo GC numa thread própria antes de liberar o objeto, como rede de segurança para…
- foreachLaço que percorre qualquer tipo com um método GetEnumerator, como arrays, listas e sequências LINQ…
- FrozenDictionaryDicionário imutável, do .NET 8, otimizado para leitura: o custo extra de criação, via ToFrozenDictionary…
G
- garbage collectorComponente do CLR que libera automaticamente a memória de objetos inalcançáveis no heap gerenciado…
- generic constraintCláusula where que restringe os tipos aceitos por um parâmetro genérico, como where T : class, struct, new()…
- generic mathConjunto de interfaces numéricas, como INumber<T> e IAdditionOperators, baseado em static abstract members…
- genericsRecurso que parametriza tipos e métodos por outros tipos, como List<T>, mantendo checagem estática e…
- global query filterFiltro LINQ configurado no modelo do EF Core que é aplicado automaticamente a todas as consultas de uma…
H
I
- IAsyncDisposableInterface com DisposeAsync para liberar recursos de forma assíncrona, como descarregar buffers ou fechar…
- IAsyncEnumerableInterface de sequência assíncrona: cada item pode demorar, e o consumo usa await foreach. Combina com…
- IDisposableInterface com o método Dispose, usada por tipos que seguram recursos não gerenciados ou escassos, como…
- IEnumerableInterface mais básica de sequência: expõe GetEnumerator para percorrer elementos um a um com foreach. As…
- IEquatableInterface IEquatable<T> declara Equals(T) tipado, evitando boxing em structs e comparações com cast. Deve…
- in parameterModificador que passa o argumento por referência somente leitura, evitando copiar structs grandes. O método…
- index and rangeTipos System.Index e System.Range, com a sintaxe ^n para contar do fim e a..b para fatias, usados em arrays…
- indexadorMembro que permite acessar um objeto com colchetes, como lista[0], declarado com this[parâmetros] e…
- init accessorAcessador usado no lugar de set que só permite atribuir a propriedade na criação do objeto (construtor ou…
- interfaceContrato que declara membros sem implementação (e, desde o C# 8, opcionalmente com implementação padrão)…
- InterlockedClasse estática com operações atômicas sobre variáveis compartilhadas, como Increment, Add e…
- intermediate languageLinguagem de baixo nível, independente de CPU, para a qual o compilador C# traduz o código; o JIT do CLR a…
- internalModificador de acesso que torna o tipo ou membro visível apenas dentro do mesmo assembly. É o padrão para…
- InternalsVisibleToAtributo de assembly que libera os membros internal de um assembly para outro assembly específico. É usado…
- IQueryableInterface de consulta que guarda a expressão LINQ como árvore, deixando um provedor, como o EF Core…
J
L
- lambda expressionFunção anônima escrita com =>, atribuível a delegates como Func e Action ou a Expression<T>. Pode capturar…
- large object heapRegião do heap gerenciado para objetos de 85.000 bytes ou mais, coletada junto com a geração 2. Por padrão…
- LINQLanguage Integrated Query: conjunto de operadores e sintaxe de consulta do C# para filtrar, projetar e…
- list patternPadrão do C# 11 que casa com listas e arrays pelo comprimento e pelos elementos, usando colchetes, descarte…
- local functionMétodo declarado dentro de outro método e visível só ali; pode capturar variáveis locais e, com static, é…
- lockInstrução que garante exclusão mútua: só uma thread por vez executa o bloco protegido por um objeto de…
M
- MemoryMemory<T> é o equivalente do Span<T> que pode morar no heap: serve como campo de classe e atravessa awaits…
- middlewareComponente do pipeline HTTP do ASP.NET Core que recebe a requisição, pode agir antes e depois do próximo…
- minimal APIEstilo de ASP.NET Core que declara endpoints HTTP com poucas linhas, usando MapGet, MapPost e lambdas…
N
- named argumentSintaxe que passa um argumento indicando o nome do parâmetro (nome: valor), em qualquer ordem. Deixa a…
- nameofOperador que devolve o nome de uma variável, tipo ou membro como string em tempo de compilação. Evita…
- namespaceAgrupamento lógico de tipos que organiza o código e evita colisão de nomes. Em C#, não precisa corresponder…
- Native AOTPublicação que compila o app inteiro para um executável nativo, sem JIT nem runtime instalado. Dá startup…
- NotNullWhenAtributo de análise de nulabilidade que informa ao compilador que um parâmetro (como um out) não é nulo…
- NuGetGerenciador de pacotes do .NET: baixa bibliotecas versionadas de repositórios como nuget.org e as registra…
- null-coalescing operatorOperador ?? que devolve o lado esquerdo se ele não for null e, caso contrário, o direito; o ??= atribui só…
- null-conditional operatorOperador ?. (e ?[]) que acessa um membro só se o objeto não for null; do contrário, a expressão inteira…
- null-forgiving operatorOperador ! pós-fixado que diz ao compilador que uma expressão anulável não é nula naquele ponto. Só silencia…
- nullable reference typesRecurso que anota se referências podem ser null (string?) ou não (string) e faz o compilador emitir avisos…
- nullable value typeVersão de um value type que também aceita null, escrita como int? e implementada pela struct Nullable<T>…
O
- object initializerSintaxe com chaves após new que atribui propriedades e campos acessíveis na criação do objeto, sem exigir um…
- optimistic concurrencyEstratégia do EF Core que não bloqueia linhas: usa um token de concorrência, como rowversion, e se o…
- options patternPadrão do .NET para ligar uma seção de configuração a uma classe fortemente tipada e injetá-la como…
- out parameterParâmetro marcado com out que o método é obrigado a atribuir antes de retornar, permitindo devolver mais de…
- overridePalavra-chave que substitui, na classe derivada, um membro virtual ou abstrato da base, fazendo a chamada…
P
- P/InvokeMecanismo que chama funções nativas de bibliotecas não gerenciadas (DLL ou .so) a partir de C#, declarando a…
- paramsModificador que permite passar um número variável de argumentos a um método, que os recebe como array (ou…
- partial methodMétodo cuja assinatura fica em uma parte de uma classe parcial e o corpo em outra. Com modificador de acesso…
- pattern matchingConjunto de recursos para testar a forma de um valor, por tipo, constante, propriedades ou posição, e…
- positional patternPadrão que usa a sintaxe de desconstrução, como (x, y), para testar e extrair valores de um tipo. Funciona…
- primary constructorParâmetros declarados direto no cabeçalho da classe ou struct, como class Servico(IRepo repo), visíveis em…
- property patternPadrão com chaves que testa propriedades ou campos de um objeto, como { Idade: >= 18 }, permitindo checar…
- propriedadeMembro de classe ou struct que expõe um valor por acessadores get e set, permitindo validar ou calcular sem…
R
- raw string literalString delimitada por três ou mais aspas duplas que aceita aspas, barras e quebras de linha sem escape…
- readonlyModificador de campo que só permite atribuição na declaração ou no construtor. Garante que a referência ou…
- readonly structStruct marcada com readonly, cujos membros são todos somente leitura; o compilador garante a imutabilidade e…
- ReadyToRunFormato de publicação que pré-compila o IL em código nativo (AOT parcial), reduzindo o tempo de…
- recordTipo (classe por padrão) com igualdade por valor, ToString legível, with expression e construtor posicional…
- record structStruct declarada como record struct, que ganha igualdade por valor, ToString e with; a forma posicional é…
- ref returnRecurso que faz um método devolver uma referência a uma variável existente, e não uma cópia. O chamador pode…
- ref structStruct restrita à pilha, que não pode ser campo de classe, ser boxeada nem atravessar um await; é o que…
- reference typeTipo cuja variável guarda uma referência a um objeto no heap: class, interface, delegate, array e string…
- reflectionCapacidade de inspecionar tipos, membros e atributos em tempo de execução e até invocá-los dinamicamente…
- requiredModificador do C# 11 que obriga quem cria o objeto a definir o membro no object initializer ou no…
- rethrowRelançar uma exceção capturada. Em C#, throw; sozinho preserva a stack trace original, enquanto throw ex; a…
- RoslynPlataforma de compiladores do C# e VB, escrita em C#, que expõe a análise sintática e semântica como API…
S
- SafeHandleClasse base abstrata que encapsula um handle de recurso nativo com contagem de referência e liberação…
- SemaphoreSlimPrimitiva leve de sincronização que limita quantas threads ou tasks entram numa região ao mesmo tempo. Ao…
- service lifetimeDefine quanto tempo o container de DI mantém um serviço: Transient cria uma instância por pedido, Scoped uma…
- sobrecarga de operadorRecurso que permite definir como operadores como +, == e < funcionam em um tipo próprio, por métodos…
- source generatorComponente do compilador Roslyn que inspeciona o código durante a compilação e gera novos arquivos C#…
- SpanStruct ref que oferece uma janela segura e sem alocação sobre memória contígua (array, stack ou memória…
- stackallocOperador que aloca um bloco de memória na stack da thread atual, liberado ao fim do método. Com Span<T> não…
- static abstract membersRecurso do C# 11 que permite declarar em interfaces membros estáticos abstratos, incluindo operadores, que…
- static constructorConstrutor sem parâmetros que inicializa o estado estático de um tipo. O CLR o executa uma só vez, de forma…
- string interpolationTexto prefixado com $ que embute expressões entre chaves, com formato opcional após dois-pontos; o…
- StringBuilderClasse de System.Text que monta texto em um buffer mutável, evitando criar uma nova string a cada…
- structTipo por valor definido com struct, indicado para dados pequenos; é copiado nas atribuições, não herda de…
- struct mutávelArmadilha clássica: structs com campos ou propriedades alteráveis são copiadas ao serem passadas, lidas de…
- switch expressionExpressão com => que escolhe um valor entre braços de pattern matching, devolvendo um resultado em vez de…
- sync over asyncAntipadrão de bloquear código assíncrono com .Result, .Wait() ou GetAwaiter().GetResult(). Pode causar…
- System.Text.JsonBiblioteca JSON nativa do .NET, rápida e com baixa alocação. JsonSerializer converte objetos de e para JSON…
T
- target-typed newForma abreviada new() que deduz o tipo a ser criado a partir do tipo declarado do destino, evitando repetir…
- TaskTipo que representa uma operação assíncrona em andamento ou concluída, podendo carregar um resultado…
- Task.WhenAllMétodo que devolve uma Task concluída quando todas as tasks recebidas terminam, permitindo disparar…
- TaskCompletionSourceObjeto que cria uma Task controlada manualmente: você a entrega a quem espera e a conclui depois com…
- tiered compilationEstratégia do JIT em que métodos começam compilados rapidamente com poucas otimizações (tier 0) e, se ficam…
- TimeProviderClasse abstrata do .NET 8 que abstrai o relógio e os timers. Injetá-la no lugar de DateTime.UtcNow permite…
- top-level statementsRecurso que permite escrever o ponto de entrada direto no arquivo, sem classe Program nem método Main…
- trimmingEtapa de publicação que remove do app assemblies e membros não alcançáveis, diminuindo o tamanho. Ligada com…
- tupleTipo leve (ValueTuple) que agrupa valores em uma única variável, com sintaxe (int, string). Os elementos…
U
- unsafeContexto que permite ponteiros e aritmética de endereços em C#, sem as garantias de memória do código…
- usingPalavra-chave com dois usos: a diretiva importa um namespace, e o comando using garante que um IDisposable…
V
- value typeTipo cuja variável guarda o próprio dado, como int, bool, DateTime e qualquer struct; atribuir ou passar…
- ValueTaskStruct que representa uma operação assíncrona sem alocar um Task quando o resultado já está pronto. Reduz…
- varPalavra-chave que pede ao compilador para inferir o tipo de uma variável local a partir da expressão de…