Questão nº 43

Questão de Tecnologia da Informação · FGV MP-SC 2022 (nº 43)

FGV2022Analista em Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Aver comentário ↓

No âmbito da linguagem C#, analise o trecho de código a seguir.

```
class Pessoa
{
private string nome;
public string Nome
{
get { return nome; }
set { nome = value; }
}
}
```

A sintaxe C# permite que a sexta e a sétima linhas sejam resumidas pelo trecho:

Resposta comentada

Gabarito Alternativa A

O conceito-chave é propriedade autoimplementada (auto-property): o C# gera automaticamente um campo privado invisível para armazenar o valor, então você não precisa declarar nome nem escrever get/set com corpo. Basta { get; set; } para criar uma propriedade que lê e grava sem lógica extra.

  • (A) Correta: É exatamente a sintaxe de propriedade autoimplementada: o compilador cria o campo de apoio e os acessores get e set vazios, substituindo as linhas 6 e 7 do código original.
  • (B) Incorreta: get() e set(value) não são sintaxe válida em C#; acessores não usam parênteses nem parâmetro explícito no set (o valor é a palavra-chave value).
  • (C) Incorreta: Os operadores <- e -> não existem para propriedades em C#; isso parece sintaxe de outras linguagens ou de setas, não do C#.
  • (D) Incorreta: -> nome e nome <= args[] são invenções; C# usa return e value, não setas nem args[] para o valor atribuído.
  • (E) Incorreta: let não é palavra-chave do C# (é de JavaScript/F#) e args[] não representa o valor atribuído; o correto seria set { nome = value; }.

Armadilha do distrator mais tentador (E): A banca mistura return this.nome (que parece lógico) com let e args[], que são de outras linguagens. Quem não domina a sintaxe exata do C# pode achar que args[] é o valor recebido no set, mas o C# usa a palavra reservada value.

Fonte: FGV MP-SC 2022 Analista em Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho