Novidades do C# 11: Pattern Matching em strings com Span<char> e ReadOnlySpan<char>
O C# 11 também trouxe melhorias no mecanismo de Pattern Matching voltadas à manipulação de strings. Isto acontece através da possibilidade de aplicar padrões com constants associadas a instâncias dos tipos Span<char> e ReadOnlySpan<char>.
Na listagem a seguir temos a implementação da classe estática TestesPatternMatching:
- O método IsProgrammingLanguage recebe como parâmetro uma instância de ReadOnlySpan<char>, fazendo uso do operador is (linha 7) e de um array que representa parte de uma string (iniciando com o valor C# - linha 9) para testar padrões de texto;
- Já no método IsRelationalDatabase temos outro exemplo de utilização do operador is (linha 17), a fim de identificar textos que iniciam com o termo SQL.
Na próxima listagem temos a declaração de várias strings baseadas em ReadOnlySpan<char> e Span<char>, com os métodos IsProgrammingLanguage e IsRelationalDatabase de TestesPatternMatching sendo acionados a fim de testar esta nova funcionalidade:
Ao executar este exemplo teremos o seguinte resultado:
O código desse projeto de exemplo também está disponível no GitHub:
https://github.com/renatogroffe/CSharp11-PatternMatchingSpan
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!
E finalizo este artigo com um convite…
Neste próximo evento ONLINE e GRATUITO do Canal .NET serão apresentadas as principais novidades que integram o .NET 7, com exemplos de implementação já utilizando o C# 11 e o ASP.NET Core.
Quando: 06/03/2023 (segunda) a partir das 21:00 — horário de Brasília
Faça sua inscrição em:
https://bit.ly/live-dotnet7-novidades