Palavras-chave

Palavras-chave são marcadores de caractere que definem a sintaxe da linguagem C#.

As palavras-chave são termos nativos embutidos no C# com funções exclusivas. Por isso, não é possível usá-las para nomear variáveis, funções ou outros identificadores durante a codificação, pois isso causaria ambiguidade no código. Veja o exemplo do termo int: ele representa o tipo inteiro no C#. Se você tentar declarar bool int = 12;, o compilador não conseguirá interpretar a linha, pois int é uma palavra reservada com uma finalidade especial.

Há duas regras centrais para as palavras-chave

Palavras-chave não podem ser usadas diretamente como nomes de variáveis ou outros identificadores, a única exceção é adicionar o prefixo @ antes da palavra-chave. Todas as palavras-chave padrão do C# são escritas em letras minúsculas; já os nomes de tipos nativos do .NET seguem a convenção PascalCase.

abstractconstexternintoverridesizeoftypeof
ascontinuefalseinterfaceparamsstackallocuint
basedecimalfinallyinternalprivatestaticulong
booldefaultfixedisprotectedstringunchecked
breakdelegatefloatlockpublicstructunsafe
bytedoforlongreadonlyswitchushort
casedoubleforeachnamespacerefthisusing
catchelsegotonewreturnthrowvirtual
charenumifnullsbytetruevoid
checkedeventimplicitobjectsealedtryvolatile
classexplicitinoperatorwhenwhile

São reservadas globalmente, não podem ser usadas diretamente para nomenclatura em nenhuma situação, é obrigatório inserir o símbolo @

int @int; // Código válido
int int;  // Causa erro na compilaçãoCode language: JavaScript (javascript)

Palavras-chave contextuais

Palavras-chave contextuais (Contextual Keywords)

As palavras-chave contextuais só têm o comportamento de palavra reservada dentro de estruturas sintáticas específicas. Diferente das palavras-chave comuns, elas podem ser utilizadas diretamente como identificadores em outras partes do código.

addascendingasyncawaitbydescendingdynamic
equalsfromgetglobalgroupininto
joinletonorderbypartialremoveselect
setvaluevarwhereyield

Só atuam como reservadas em sintaxes específicas; em outros locais podem ser usadas diretamente como nomes de variáveis

int var; // Válido, var não é tratado como palavra-chave fora da inferência de tipo
var num = 10; // Aqui var funciona como palavra-chave para inferência implícita de tiposCode language: JavaScript (javascript)

Todos os termos circulados no exemplo anterior são palavras-chave.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *