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

    C# Lista di struct

    Salve sono nuovo nel forum quindi colgo l'occasione per salutare tutti i membri di questo forum.

    Ho un dubbio e,di solito,venivo da queste parti per cercare aiuto,trovando sempre qualche spunto per la soluzione;solamente che adesso ho implementato una lista di strutture in C#:
    codice:
    namespace esercmio
    {
      public struct SOPQ
        {
            public string soPQTable;
            public int soPQNumber;
            public string soPQOrderNo;
            public string soPQPartNo;
            public DateTime soPQData;
            public double soPQQuantity;       
        }
    }

    e in una procedura ho creato la lista del tipo della struttura: List<SOPQ> lsopq = new List<SOPQ>();

    l'ho popolata correttamente e funziona senza problemi.
    Dopodichè ho creato una nuova struttura con gli stessi tipi primitivi (ovviamente con nomi diversi)
    codice:
    public struct WOPQ
        {
            public string woPQTable;
            public int woPQNumber;
            public string woPQOrderNo;
            public string woPQPartNo;
            public DateTime woPQData; 
            public double woPQQuantity;
        }
    e creato la lista anche per essa: List<WOPQ> lwopq = new List<WOPQ>();

    Perfetto,adesso il mio problema è non riuscire a confrontare un campo di una lista lsopq con quello di una lwopq,ad esempio per confrontare lsopq.soPQNumber con lwopq.woPQNumber come dovrei procedere?
    E quindi come confrontare all'interno di una lista,lo stesso campo ma con indice diverso,ossia confrontare in modo da eliminare duplicati?

    Spero di essere stato chiaro e ringrazio anticipatamente chiunque volesse darmi una mano :-)

  2. #2
    provo a risponterti :
    io creerei una routine a parte che confronta i dati .

    tipo :
    public void confronta(){
    if ( soPQTable == woPQTable){

    istruzione elimina record

    }
    else if {

    istruzione continua
    }
    }

    ??????

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: C# Lista di struct

    Originariamente inviato da augevasmi
    Perfetto,adesso il mio problema è non riuscire a confrontare un campo di una lista lsopq con quello di una lwopq,ad esempio per confrontare lsopq.soPQNumber con lwopq.woPQNumber come dovrei procedere?
    La domanda non è chiara, nel senso che il confronto tra i campi delle strutture avviene come per qualsiasi altro tipo di dato; ad esempio,

    codice:
    if (lsopq[0].soPQNumber == lwopq[0].woPQNumber)
    {
      // ...
    }
    Chiaramente, puoi fare un ciclo per enumerare gli elementi dell'una o dell'altra lista, confrontando campo con campo.

    In alternativa, se il confronto determina una uguaglianza logica tra le strutture, puoi implementare l'interfaccia IComparable.

    Dovresti definire meglio qual è l'obiettivo del confronto e qual è la difficoltà specifica che incontri nel farlo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Grazie ho risolto ma non ho fatto in tempo a rispondere,
    cmq alka, era ciò che mi serviva,peccato non esserci arrivato prima di scrivere il mio post.

    Grazie a tutti,spero di non avere più bisogno di voi
    A presto.

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.