Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C#] Confrontare array...

    Salve,
    se ho due array, per esempio di interi:

    int[] a = {1, 2, 3};
    int[] b = {2, 3, 4};

    E uso il metodo:

    a.Equals(b);

    Otterrò un confronto tra tutti gli elementi dei due array, e quindi riceverò true se effettivamente i due array sono uguali? E la cosa vale per qualsiasi array? Per esempio anche per array di oggetti nei quali sia stato definito un overloading per l'operatore di uguaglianza?

    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    no credo che non funzioni.
    equals è un metodo ereditato da object, ma non è detto che la classe che lo eredita (nel caso tuo int[]) lo implementi.. nel caso degli array è sicuramente non implementato
    usa la classe statica Array e i suoi metodi per fare queste cose.

  3. #3
    Originariamente inviato da Stoicenko
    no credo che non funzioni.
    equals è un metodo ereditato da object, ma non è detto che la classe che lo eredita (nel caso tuo int[]) lo implementi.. nel caso degli array è sicuramente non implementato
    usa la classe statica Array e i suoi metodi per fare queste cose.
    Quindi se scrivo:

    int[] a = {1, 2, 3};
    int[] b = {2, 3, 4};

    if (Array.Equals(a, b))
    Console.WriteLine("a e b sono uguali");

    Mi confronterà elemento per elemento i due array?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    ma hai guardato la classe Array prima di scrivere qui?

    qua la documentazione ad esempio..
    http://msdn.microsoft.com/en-us/libr....array_members(VS.71).aspx

    magari provalo anche..

    un po' di iniziativa su..

  5. #5
    Altra cosa: Array.Equals funziona anche nel caso:

    MyObject a[] = new MyObject[10];
    MyObject b[] = new MyObjecy[10];

    foreach (MyObject temp in a)
    temp = new MyObject();
    foreach (MyObject temp in b)
    temp = new MyObject();

    if(Array.Equals(a, b))
    Console.WriteLine("a e b sono uguali");

    Grazie, ciao.

  6. #6
    Originariamente inviato da Stoicenko
    ma hai guardato la classe Array prima di scrivere qui?

    qua la documentazione ad esempio.. http://msdn.microsoft.com/en-us/libr....object.equals(VS.71).aspx

    un po' di iniziativa su..
    Non avevo ancora letto la tua risposta, ora leggo, grazie.

  7. #7
    Da quello che ho capito non esiste un modo immediato per confrontare due array, neanche con la classe statica Array e i suoi metodi.

    http://blogs.msdn.com/kathykam/archi...ay-equals.aspx

  8. #8
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    se array non offre un overload l'unico modo e ciclare i 2 array

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.