Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Changer la dimension d'un byte array [ Windows / Autre ] (olibara)

samedi 5 avril 2008 à 08:51:46 | Changer la dimension d'un byte array

olibara

Bonjour,

J'ai l'habitude de manipuler des tableaux en C mais csharp me fait des caprices

Je veux dimensionner un tableau de 5 byte et fixer cette longueur a 5 bytes

si je fait
      byte [] sCP=new byte[5]; // c'est bon
// ensuite (lookCP ne fait pas plus de 5 bytes)
      sCP=System.Text.Encoding.ASCII.GetBytes(lookCP);
// la longueur a changé ... soit

// Mais maintenant seuls les 5 premiers bytes m'intéressent, comment je peux supprimer ou ajouter des element a mon array


samedi 5 avril 2008 à 10:53:25 | Re : Changer la dimension d'un byte array

Bidou

Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,
Une fois la taille d'un tableau fixée, on ne peut plus la changée (statique).
Il faut alors recopier les éléments dans un nouveau tableau (plus grand ou plus petit selon qu'on veuille l'agrandir ou le rétrécir).

Regarder du côté de la méthode CopyTo de class Array.



-My Blog-

samedi 5 avril 2008 à 11:19:29 | Re : Changer la dimension d'un byte array

olibara

Merci Bidou

ca c'est pas pratique !!
Ya des choses géniales en cSharp mais parfois il y a des trucs ou il faut bricoler

Exemple lié a ma question, je ne sais pas s'il y a une maniere plus efficace de faire mais ca me semble un peu lourdingue !
Tout ca pour lire une chaine de 5 bytes avec \0 pour la mettre dans un string (c'est surtout le substring que je trouve un peu lourd)

        byte[] xcp = binReader.ReadBytes(5); ;
        string dum = System.Text.Encoding.ASCII.GetString(xcp);
        icp.sCP=dum.Substring(0, 4);

samedi 5 avril 2008 à 11:35:53 | Re : Changer la dimension d'un byte array

Bidou

Administrateur CodeS-SourceS
Je ne pense pas qu'on puisse faire mieux non...
Enfin, pourquoi pas un ReadByte(4) ?



-My Blog-

samedi 5 avril 2008 à 11:44:08 | Re : Changer la dimension d'un byte array

olibara

Salut

Pourquoi pas un readbyte(4)  ??

Parce que la place reservée dans le fichier est de 5 bytes, donc je dois de toute facon l'avaller !
Je pourrais effectivement faire le code ci apres

        byte[] xcp = binReader.ReadBytes(4);
        byte brol   = binReader.ReadByte();
        icp.sCP    = System.Text.Encoding.ASCII.GetString(xcp);

Mais c'est toujours 3 lignes d'instruction et je pense que l'overhead d'un read est plus lourd qu'un substring mais je suis pas sur.

Je sais que tu va me dire que je pourrais faire

        icp.sCP    = System.Text.Encoding.ASCII.GetString(binReader.ReadBytes(4));

Mais ca deviens moins lisible et je perds un certain controle !!


samedi 5 avril 2008 à 11:57:31 | Re : Changer la dimension d'un byte array

Bidou

Administrateur CodeS-SourceS
Dans ce cas, je ne vois pas mieux...



-My Blog-

samedi 5 avril 2008 à 15:18:02 | Re : Changer la dimension d'un byte array

coq

Administrateur CodeS-SourceS
Salut,

Probablement regarder du côté du C++/CLI...



/*
coq
MVP Visual C#
CoqBlog
*/



Cette discussion est classé dans : changer, dimension, array, byte, bytes


Répondre à ce message

Sujets en rapport avec ce message

int to byte[] [ par Sobieski ] Bonjour,Je cherche à envoyer un tableau de bytes, mais j'ai des valeurs en int. J'aimerais savoir comment faire d'un int un tableau de bytes (byte[]). Une p'tite colle ! [ par sebmafate ] Dans le code suivant, pourquoi ai-je une boucle infinie ?byte[] bytes = new bytes[256];for (byte i=0; i   bytes[i] = (byte)(255 - i);}<A href="h Copie Array [ par ZaRMaS ] Bonjour a tous, Je cherche a faire une copie d Array dont les dimensions sont variables. Je recois un Array, je trouve facilement sa dimension mais j Connaitre la dimension de base d'un array a n dimension [ par olibara ] BonjourSi je declare un array a deux dimensions 9,2string [,]={{a,1},                 {b,2},                 etc..                 {i,9}};Le lenght me Multiplication bytes [ par clubberzZ ] Bonjour à tous,J'éxplique mon problème, je souhaiterais faire une multiplication de byte par un chiffre (une variable que je récupère auparavant) :byt Comparaison de bytes d images [ par danyclassique ] Bonjour a tous.J aurai voulu savoir si quelqu un connait une methode  pour comparer 2 tableaux de bytes contenant chacunles paquets de bytes d une ima comparaison de byte array [ par olibara ] BonjourA part faire une boucle existe-t-il une methode de comparaison de deux byte array ? Sécurité assurée par CspProvider [ par taupe4 ] Bonjour,Je développe présentement une application possédant des données sensibles cryptées via AES, et elle fonctionne bien.Notre client nous a inform Comment changer de SDK? [ par Philipina ] Bonjour,J'utilise Microsoft Visual C# 2008 Express Edition et il est configurer avec le Framework 3.5.Comment puis-je faire pour utiliser le framework


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.