Maison >développement back-end >C++ >Comment puis-je remplir automatiquement des tableaux C# avec des valeurs autres que celles par défaut ?

Comment puis-je remplir automatiquement des tableaux C# avec des valeurs autres que celles par défaut ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-30 20:35:17935parcourir

How Can I Auto-Populate C# Arrays with Non-Default Values?

Remplissement automatique des tableaux C# avec des valeurs autres que celles par défaut

En C#, les tableaux non initialisés de types de valeurs sont automatiquement amorcés avec leurs valeurs par défaut respectives (par exemple, 0 pour int, false pour bool). Cependant, est-il possible de contourner cela et de définir une valeur de départ personnalisée pour tous les éléments ?

Utiliser Array.Fill()

La méthode Arrays.fill() de Java est n'est pas disponible en C#, donc l'approche itérative avec une boucle for reste la méthode standard. Itérer sur le tableau peut sembler inefficace, mais c'est la solution optimale lors de la manipulation directe de la mémoire sous-jacente.

Approche alternative

Malgré l'absence de méthode intégrée, il existe une approche alternative utilisant LINQ (Language Integrated Query) :

bool[] abValues = Enumerable.Repeat(true, 1000000).ToArray();

Cette approche exploite Repeat() et Méthodes ToArray() pour générer une séquence de valeurs vraies répétée 1 000 000 de fois, puis la convertir en tableau. Cette méthode garantit que tous les éléments sont définis sur true avant l'initialisation du tableau. Il convient de noter que l'utilisation de LINQ peut introduire une surcharge supplémentaire par rapport à l'approche itérative.

Considérations sur l'allocation de mémoire

Comme on le soupçonnait, les valeurs par défaut sont ancrées dans le processus d'allocation de mémoire de C#. pour les tableaux. Cependant, l'utilisation de la méthode Repeat() contourne efficacement ce comportement en créant un nouveau tableau avec les valeurs souhaitées, en contournant l'initialisation automatique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn