Tu n'utilise pas de pointeur dans la version array, tu fait juste moins de copie.
Pour utiliser des pointeurs, il faut déclarer la classe unsafe,
modifier les informations de compilation d'unity pour qu'il accepte et ensuite déclarer un tableau de "Particle
*" plutôt qu'un tableau de "Particle". tu déréférence avec
* et tu référence avec
& lors de tes manipulations, sans oublier les parenthèse si tu le manipule avec les opérateur
[] ou
. parce qu'ils ont la priorité sur les opérations de pointeurs. Mais c'est pas nécessaire^^
ZJP n'a pas tord dans le sens ou même si on fait fonctionner correctement la LinkedList, les perfs ne seront probablement pas meilleur, c'est juste moins de code, beaucoup moins de mémoire alloué et plus de problème de spike et comme tu l'a dit pour défendre ta fonction Resize, "c'est stimulant pour ton ptit cerveau" ^^.
En revanche remplacer la structure c'est impératif au moins pour gagner de la place; ça devrait pas changer grand chose pour ton array vu que tes particules restent très longtemps.