Comment augmenter byte[] taille au moment de l'exécution?
J'ai pour augmenter byte[]
la taille du tableau au moment de l'exécution.
Comment augmenter byte[] la taille du tableau au moment de l'exécution ?
- double possible de changer la taille du tableau
Vous devez vous connecter pour publier un commentaire.
Pourquoi personne ne semble savoir Tableau.Redimensionner:
Simple comme bonjour.
PS: que par un commentaire sur MSDN, apparemment, c'était absente de la documentation MSDN 3.0; ce qui pourrait expliquer, il est populaire ignotion
ref
Vous ne pouvez pas: les tableaux sont de taille fixe.1
Soit utiliser un re-importante collection (eg.
List<byte>
) ou de créer un nouvel ensemble plus grand et de copier le contenu du tableau original sur.1 Même Tableau.Redimensionner ne modifie pas le tableau transmis objet: il crée un nouveau tableau et copie les éléments. Il vient vous permet d'économiser de codage de ce vous-même. La différence est importante: d'autres références à l'ancien tableau allons continuer à voir l'ancien tableau.
Vous pourrait allouer un nouveau tableau et copier les octets avec
Array.Copier(..)
temp
?Array.Resize
(sourire)temp
dans votre code?tmp
- j'ai changétmp
àoldArr
, mais j'ai oublié de le changer dans la méthode, mon mauvais.Si vous avez l'augmenter, pourquoi ne pas commencer avec un
List<byte>
en premier lieu?Un tableau est de taille fixe, et ne peut pas être changé dynamiquement à l'exécution.
Votre seule option est de créer un nouveau tableau de la taille voulue, et de copier tous les octets de l'ancien tableau à la nouvelle.
Mais pourquoi vous torturer avec ce au lieu d'utiliser
List<byte>
et simplement en ajoutant ou en supprimant des éléments à volonté?