J'essaye de créer un byte [] donné une quantité inconnue d'octets. Voici un exemple:Comment créer un octet [] de taille inconnue en C#?
ArrayList al = new ArrayList();
al.Add(0xCA);
al.Add(0x04);
byte[] test = (byte[])al.ToArray(typeof(byte));
Je reçois une erreur que l'un ou plusieurs des valeurs du tableau ne peut pas être converti en un octet. Qu'est-ce que je fais mal ici?
Merci
ah, je pensais que le 0x l'a fait dans un octet. Ma faute. – FoppyOmega
non, 0x en fait un entier hexadécimal, tout nombre 0x en dessous de 8 chiffres est considéré comme un Int32 (mais implicitement convertible en byte/short si le nombre de chiffres est inférieur à 2/4 respectivement) – fbstj
En utilisant ArrayList vous boxez et déballez le octets à des objets qui peuvent produire un impact significatif sur les performances. L'utilisation de la liste générique empêche la boxe de se produire et donne de meilleures performances. –