Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No .NET 9, uma alteração significativa no recurso lang params Span<T> cria ambiguidade com os operadores implícitos de StringValues. Essa alteração resulta no compilador lançando o erro CS0121 quando encontra chamadas de método ambíguas.
Comportamento anterior
As APIs mencionadas na seção APIs afetadas anteriormente não tinham sobrecargas ambíguas com os operadores implícitos de StringValues. Como resultado, o compilador resolveria as sobrecargas sem problemas.
Novo comportamento
O compilador lança um erro CS0121 ao encontrar essas sobrecargas ambíguas, resultando no seguinte erro:
CS0121: The call is ambiguous between the following methods or properties: 'Program.Join(string, params string[])' and 'Program.Join(string, params ReadOnlySpan<string>)'
Versão introduzida
.NET 9
Tipo de alteração interruptiva
Essa alteração é uma mudança de compatibilidade de origem .
Motivo da alteração
StringValues tem operadores implícitos para string e string[] que causam conflitos com o recurso lang params Span<T>.
Ação recomendada
Especifique explicitamente o método que você pretende chamar lançando os argumentos para o tipo apropriado ou aplique parâmetros nomeados.
APIs afetadas
- System.String.Concat(ReadOnlySpan<String>)
- System.String.Join(Char, ReadOnlySpan<String>)
- System.String.Join(String, ReadOnlySpan<String>)
- System.IO.Path.Combine(ReadOnlySpan<String>)
- System.IO.Path.Join(ReadOnlySpan<String>)
- System.Text.StringBuilder.AppendJoin(String, ReadOnlySpan<String>)
- System.Text.StringBuilder.AppendJoin(Char, ReadOnlySpan<Object>)