Start Debugging

Tag: dotnet

227 posts · Página2de23

O que é Span<T> em C# e quando ele realmente deixa seu código mais rápido?
Span<T> é um ref struct que vive apenas na pilha e aponta para memória que você já possui, então não tem alocação de respaldo. Ele acelera o código em exatamente três situações: substituir um buffer no heap por stackalloc, fatiar sem copiar e laços apertados onde o JIT elimina as verificações de limites. Em qualquer outro lugar ele não muda nada, e cruzando um await ele não compila.
O que é o atributo DynamicallyAccessedMembers?
DynamicallyAccessedMembers informa ao trimmer do .NET e ao compilador AOT quais membros de um Type você acessa por reflexão, para que sejam mantidos em vez de removidos pelo trimming. Ele transforma uma MissingMethodException silenciosa em runtime em um aviso IL2070 em tempo de build. Veja o que o atributo faz, como funciona a análise de fluxo de dados por trás dele e como anotar corretamente parâmetros, campos e parâmetros de tipo genéricos.
Anterior Próximo