Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les insights sur les performances pour les allocations de tableaux de longueur nulle.
Cause
L’allocation de tableaux de longueur nulle dans .NET peut entraîner des allocations de mémoire inutiles. Ces allocations, bien que petites, puissent s’accumuler et provoquer des problèmes de performances, en particulier dans les applications hautes performances ou limitées à la mémoire.
Description de l’insight sur les performances
Lorsqu’un tableau de longueur nulle est alloué, cela entraîne une allocation de mémoire qui n’est pas nécessaire. Au lieu de créer un tableau, il est plus efficace d’utiliser l’instance de tableau vide allouée statiquement fournie par la méthode Array.Empty<T>(). Cette méthode retourne un tableau mis en cache, vide du type spécifié, évitant ainsi la surcharge d’une nouvelle allocation.
Comment examiner un avertissement
Cliquez sur le lien Examiner pour accéder à la vue Allocation affichant le tableau de longueur zéro alloué. Double-cliquez sur l’allocation pour afficher les chemins d’accès au code où se produisent les allocations. Envisagez de réduire ces allocations à l’aide de l’instance de tableau vide allouée statiquement fournie par Array.Empty<T>().
À compter de Visual Studio version 18.0.0 Preview 1 ou ultérieure, si Copilot est activé, vous voyez le bouton Demander à Copilot
Sélectionnez le bouton et Copilot fournit une analyse détaillée des modèles d’allocation et suggère des correctifs de code pour optimiser votre utilisation de la mémoire.
Voici un exemple d’allocation de tableau vide et de sa résolution :
Violation:
class Example
{
public void Method()
{
var array = new int[0];
}
}
Résolution:
class Example
{
public void Method()
{
var array = Array.Empty<int>();
}
}
Ressources additionnelles
Pour plus d’informations sur l’évitement des allocations de tableaux de longueur nulle et d’autres meilleures pratiques en matière de performances, consultez la ressource suivante :
CA1825 : Évitez les allocations de tableaux de longueur nulle (analyse du code)
En suivant ces instructions, vous pouvez vous assurer que votre application est optimisée pour les performances et éviter une surcharge de mémoire inutile.