Par exemple
MYCLASS[] myclass = new MYCLASS[10];
6 Réponses :
Il n'y a pas de manière plus facile. Si vous n'aimez tout simplement pas les boucles, vous pouvez utiliser
MyClass[] array = new MyClass[10]; array.ConstructArray();
Si vous ne voulez pas écrire la boucle, vous pouvez utiliser Remarque: il est considérablement plus lent que la méthode que vous avez mentionnée Utilisation d'une boucle, écrite ici pour plus de clarté: p> énumérable.Range code> strong> à la place:
Il est préférable d'utiliser la nouvelle myClass [10] au lieu d'énumérable.Range (0,10) Stackoverflow.com/questions/3028192/...
Vous pouvez utiliser LINQ.
var a = (from x in Enumerable.Range(10) select new MyClass()).ToArray();
Il n'y a pas vraiment d'une meilleure façon. Vous pouvez faire quelque chose comme: puis au moins vous avez besoin que: p> Cette approche doit au moins éviter les réaffectations et peut Utilisez l'optimisation de la matrice / longueur JIT. Le : classe code> est d'éviter une utilisation avec des types de valeur, comme pour les types de valeur initialise de cette manière; Juste nouveau myvalueType [200] code> serait mieux. p> p>
Si nous voulons faire tout le travail en un seul code ligne, il s'agit donc de meilleurs
Vous auriez dû mettre à jour votre réponse plutôt que de fournir une seconde
var a = Enumerable.Repeat(new MYCLASS(), 10).ToArray();
Si vous avez une structure, vous n'avez pas à initialiser chaque article, car ils sont déjà alloués à une valeur par défaut.