Novidades do C# 13: a palavra-chave field

Renato Groffe
2 min readNov 22, 2024

--

A listagem a seguir traz um exemplo de implementação de classe em .NET (tipo Temperatura), em que podemos observar a presença de um campo (_fahrenheit) associado a uma propriedade (Fahrenheit) que possibilita a leitura e escrita de valores:

No trecho que selecionei a seguir (recomendo fortemente que você acesse esse conteúdo, basta clicar neste link do YouTube — são poucos minutos de explanação) demonstro uma novidade do C# 13 que visa simplificar este tipo de implementação, com isto acontecendo através do uso da palavra-chave field. Detalhes sobre essa nova capacidade estão indicados também mais abaixo neste artigo:

Podemos refatorar a classe Temperatura, eliminando a necessidade de declaração/uso do campo _fahrenheit e substituindo o mesmo pela palavra-chave field. É o que demonstra a listagem seguinte, com uma sintaxe mais enxuta:

É importante que o item LangVersion esteja preenchido como o valor preview, a fim de habilitar essa nova funcionalidade:

Embora se trate de um recurso ainda em Preview (mesmo com o lançamento oficial recente do .NET 9 — Novembro/2024), podemos ainda assim nos valer dos benefícios trazidos por esta nova abordagem. A palavra-chave field permite eliminar múltiplas declarações de campos em classes, simplificando assim as implementações ao longo de projetos com uma codificação mais extensa.

Já na próxima listagem temos o código esperado para o arquivo Program.cs, em que se fará uso do tipo Temperatura:

Ao executar essa aplicação de testes teremos como retorno:

Este projeto foi disponibilizado no GitHub:

https://github.com/renatogroffe/CSharp13-ConsoleApp-FieldKeyword

Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

No responses yet