Il n'y a que deux raisons à utiliser une structure, et qui est d'obtenir soit le type de valeur sémantique, ou pour de meilleures performances.
Comme la structure contient un tableau, le type de la valeur sémantique ne fonctionne pas bien. Lorsque vous copiez la structure que vous obtenez une copie de l' count
, mais vous n'obtiendrez qu'une copie de la référence au tableau, pas une copie des éléments dans le tableau. Par conséquent, vous devez prendre des précautions particulières lorsque la structure est copié de sorte que vous n'obtenez pas incompatible instances de celui-ci.
Donc, la seule raison valable serait de performance. Il y a une petite surcharge pour chaque type de référence de l'instance, donc si vous avez beaucoup d'entre eux il peut y avoir un gain de performance notable.
Une fonctionnalité utile d'une telle structure, c'est que vous pouvez créer un tableau d'entre eux, et vous obtenez un tableau vide des listes sans avoir à initialiser chaque liste:
ItemList<string>[] = new ItemList<string>[42];
Comme les éléments du tableau sont de zéro-rempli, l' count
membre sera égal à zéro et l' items
membre sera nulle.