Novidades do C# 11: UTF-8 String Literals
O C# 11 também traz melhorias na manipulação de strings no formato UTF-8, contando agora com o sufixo u8 que pode ser adicionado ao final de uma sequência de texto que necessite ser representada neste padrão.
No exemplo a seguir temos um exemplo de uso desta nova capacidade:
var parte1 = "Exemplo utilizando Utf-8 no C# 11 "u8;
Uma string literal baseada em UTF-8 será então tratada como um conjunto de bytes baseado no tipo ReadOnlySpan<byte>, conforme podemos visualizar na declaração da variável parte1 a partir de um exemplo no Visual Studio Code:
A versão completa com esse exemplo está na próxima listagem, com as variáveis parte1 e parte2 fazendo uso do sufixo u8. O conteúdo das mesmas será em seguida agrupado e salvo em um arquivo de texto (.txt), com isto acontecendo por meio de uma instância do tipo FileStream:
Na próxima imagem podemos visualizar um exemplo de arquivo criado ao executar este código, com o conteúdo do mesmo possuindo como encoding o padrão UTF-8:
Este exemplo também foi disponibilizado no GitHub:
https://github.com/renatogroffe/CSharp11-Utf8StringLiterals
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!