1
resposta

[Dúvida] Diferença?

qual a direrença entre

public string Descricao => $"tereretarara"

para

public string Descricao {get { return $"tereretarara" }}

qual seria a diferença dessas duas propriedades???

1 resposta

As duas declarações que você mencionou são formas diferentes de implementar uma propriedade somente leitura em C# que retorna uma string. Aqui estão as diferenças entre elas:

1. Expressão Lambda para Propriedades Somente Leitura

public string Descricao => $"tereretarara";
  • Sintaxe mais concisa: Esta é uma forma mais concisa de declarar uma propriedade somente leitura.
  • Expressão Lambda: Utiliza a sintaxe de expressão lambda (=>).
  • Leitura mais clara: É geralmente mais fácil de ler e entender, especialmente para propriedades simples.
  • Apenas get: Esta forma é usada apenas para propriedades que precisam de um getter.

2. Propriedade com Getter Explicito

public string Descricao
{
    get { return $"tereretarara"; }
}
  • Sintaxe completa: Utiliza a sintaxe completa para propriedades.
  • Mais flexível: Permite adicionar lógica adicional dentro do getter, se necessário.
  • Potencial para expandir: Mais fácil de expandir no futuro, se você precisar adicionar mais lógica ou modificar o comportamento do getter.
  • Tradicional: Esta é a forma tradicional de declarar propriedades antes da introdução da sintaxe mais concisa.

Comparação

  • Concisão: A primeira forma (=>) é mais concisa e direta, adequada para propriedades simples que apenas retornam um valor.
  • Flexibilidade: A segunda forma (get { }) é mais flexível e permite adicionar lógica adicional no futuro sem modificar muito a estrutura do código.
  • Leitura e manutenção: Para propriedades simples, a primeira forma pode ser mais fácil de ler e manter. Para propriedades mais complexas, a segunda forma pode ser mais adequada.

Exemplo Prático

Se você tem uma propriedade simples que apenas retorna uma string fixa, a primeira forma é geralmente preferível:

public string Descricao => $"tereretarara";

Se você antecipa que pode precisar adicionar mais lógica dentro do getter no futuro, ou se a propriedade já é complexa, então a segunda forma pode ser mais apropriada:

public string Descricao
{
    get
    {
        // Possível lógica adicional
        return $"tereretarara";
    }
}

Em resumo, escolha a sintaxe que melhor se adapta às suas necessidades atuais e futuras, considerando a simplicidade, clareza e flexibilidade.