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 : comparaison de byte array [ Windows / Autre ] (olibara)

vendredi 4 avril 2008 à 20:18:54 | comparaison de byte array

olibara

Bonjour

A part faire une boucle existe-t-il une methode de comparaison de deux byte array ?


samedi 5 avril 2008 à 13:54:13 | Re : comparaison de byte array

xmox667

Membre Club
Réponse acceptée !
Salut,
J'ai fait différentes recherches sur le net et j'ai trouvé ceci:
[ Lien ]
En résume je pense que tu dois passer par une boucle.
A+

samedi 5 avril 2008 à 15:55:04 | Re : comparaison de byte array

olibara

Merci à toi,

Oui c'est ce que j'avais conclu

jeudi 2 octobre 2008 à 18:39:21 | Re : comparaison de byte array

scoubidou944

Autre solution :
calculer le hash de chaque tableau et comparer.


----------------------------
C++ forever
C# amateur

samedi 4 octobre 2008 à 19:24:48 | Re : comparaison de byte array

coq

Administrateur CodeS-SourceS
Surtout ne pas faire d'amalgame entre le hash d'on parle scoubidou944 et la méthode GetHashCode, qui ne garanti en rien un retour identique pour un contenu de tableau identique.



/*
coq
MVP Visual C#
CoqBlog
*/

samedi 4 octobre 2008 à 19:40:57 | Re : comparaison de byte array

olibara

Bien entendu !

Mais si c'est pour faire ca, alors je pense qu'une petite methode avec boucle est préférable !

dimanche 5 octobre 2008 à 00:00:43 | Re : comparaison de byte array

scoubidou944

je parle de hash MD5 bien entendu ;p.

Olibara : pourquoi réinventer la roue ?

Cette fonction pourra être réutilisée très souvent alors que ta boucle, j'ai des doutes. Enfin c'est mon avis.

// Hash an input string and return the hash as
// a 32 character hexadecimal string.
static public string GetHash(byte[] input)
{
            // Create a new instance of the MD5CryptoServiceProvider object.
            MD5 md5Hasher = MD5.Create();

            // Convert the input string to a byte array and compute the hash.
            byte[] data = md5Hasher.ComputeHash(input);

            // Create a new Stringbuilder to collect the bytes
            // and create a string.
            StringBuilder sBuilder = new StringBuilder();

            // Loop through each byte of the hashed data
            // and format each one as a hexadecimal string.
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2", CultureInfo.InvariantCulture));
            }

            // Return the hexadecimal string.
            return sBuilder.ToString();
        }

dimanche 5 octobre 2008 à 07:53:49 | Re : comparaison de byte array

olibara

Salut

Parfois il faut aussi penser a etre performant et pratique !

J'ai parfois le sentiment que la hantise de la ré-usabilité et du respect d'un design fait oublier qu'une roue de vélo ne sera jamais une roue d'avion ni de patin a roulette

Dons ce n'est pas parce que le codage informatique offre la liberté intellectuelle de concevoir la roue qui fera le café que ce sera forfément la meilleure roue pour ta moto !

 


dimanche 5 octobre 2008 à 08:54:16 | Re : comparaison de byte array

coq

Administrateur CodeS-SourceS
Sur de petit tableaux la différence ne devrait pas être énorme, mais sur de plus gros volumes ça peut jouer.

Dans le cas présent, si la fonctionnalité attendue est l'apport d'une réponse sous forme d'un booléen, l'intérêt majeur de la comparaison via une boucle c'est qu'elle va pouvoir répondre non à la première différence trouvé (différence de longueur des tableaux ou différence de valeur à l'index n) et s'arrêter là.

A l'inverse la méthode avec le hash pourra être intéressante en cas d'appel "distant" nécessitant le transfert des données sur un lien lent : si le calcul ne peut être déporté au plus prêt du stockage, transférer un hash peut alors avoir du sens.


/*
coq
MVP Visual C#
CoqBlog
*/

dimanche 5 octobre 2008 à 08:57:20 | Re : comparaison de byte array

coq

Administrateur CodeS-SourceS
"comparaison via une boucle" : à noter que la comparaison n'a pas forcément besoin d'être faite de façon linéaire, je suppose que quelques algorithmes existent pour tenter maximiser les chances de trouver une différence lors d'une telle opération.



/*
coq
MVP Visual C#
CoqBlog
*/


1 2

Cette discussion est classé dans : comparaison, array, byte


Répondre à ce message

Sujets en rapport avec ce message

Comparaison de deux System.Byte[] en C# [ par sabrinaset ] Salut,Comment est-ce que je peux comparer rapidement deux tableaux de byte?Merci pour vos réponses Changer la dimension d'un byte array [ par 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 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 Structures C en C# [ par Loran83 ] Tout nouveau en C#. J'ai un truc tout bête en C ou C++ que je n'arrive pas à faire en C# :struct xyz{    int x;     char y[128];    struct* xyz z;} my 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 comparaison conditionelle [ par olibara ] BonjourSans etre vraiment bloqué, j'aimerais connaitre la methode la plus astucieuse pour faire une comparaison parametréeJe m'expliqueL'utilisateur d Comparaison de deux dates identiques [ par olibara ] Bonjour J'essaye de comparer deux datetime normalement identiqueLe but est de verifier que l'utilisateur n'a pas inversé un intervalle de temps Le Probleme de conversion de byte pour lecture par un serveur [ par Liverion ] Bonjour,je voudrais ameliorer un programme que j'ai concu, qui fonctionne mais qui est un peu lourd :Je dois envoyer a un serveur des donnees pour une Problème Cryptage & Decryptage [ par gibouman ] Bonjour je code un programme qui doit envoyer un fichier sur sur serveur tout en etant crypté. Sans le cryptage, j'arrive bien à envoyer et recevoir m Crypter une chaine de texte [ par Kaneda_Shotaro ] Bonjour j'essaye de crypter du texte avec cette classe : public static class Cryptage    {        public static byte[] EncryptString(string txt, s


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,390 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é.