Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

List με struct ερώτηση

Îåêßíçóå áðü ôï ìÝëïò djrimokbp. Τελευταία δημοσίευση από το μέλος djrimokbp στις 08-07-2010, 13:08. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-06-2010, 22:56 59206

    List με struct ερώτηση

    Καλησπέρα σας, 
    Θα ήθελα την πολύτιμη βοήθεια σας για να κατανοήσω κάποια πράγματα..λοιπόν έχουμε και λέμε... 

    Ορίζω το εξής  Dictionary instance:

    Dictionary<string, List<infos>> infosDict = new Dictionary<string, List<infos>>();

    όπου το infos είναι ένα struct με 2 μεταβλητές οι οποίες έχουν οριστεί αλλά δεν έχουν αρχικοποιηθεί. 
    Στη συνέχεια μέσα σε μια μέθοδο της class δημιουργώ μια λίστα και ένα instance του struct ως εξής:
    List<infos> list = new List<infos>();
    infos infosStruct;
    αρχικοποιώ τις 2 μεταβλητές του struct σαν
     infos.x=0;
     infos.y=0;
    Τώρα θέλω να προσθέσω στο Dictionary ένα νέο key και φυσικά εφ' όσον το εισάγω για πρώτη φορά πρέπει να φτιάξω και μια λίστα για αυτό το key οπότε κάνω το εξής:
    infosDict.Add("bla bla", list);
    Η ερώτησή μου τώρα είναι η εξής... μετά την παραπάνω εντολή(αν διαβάζετε ακόμη Stick out tongue ) έχω δημιουργήσει τη λίστα μέσα στην οποία υπάρχει ένα instance του struct χωρίς να είναι αρχικοποιημένο, σωστά;
    Οπότε για να το αρχικοποιήσω πρέπει να βάλω και αυτή την εντολή:
    infosDict[bla bla].Add(infosStruct);
    αλλά τώρα δεν θα έχω δύο instances του struct  μέσα στη λίστα μου, ένα αρχικοποιημένο και ένα μη αρχικοποιημένο;

    Συγνώμη για το μεγάλο μήνυμα και ευχαριστώ προκαταβολικά!!!!
    Επίσης αν υπάρχει καμία πρόταση με κάποιο url που αφορά hashTables, ή συνδυασμός Dictionary, List, structs σε μια ενιαία δομή(όπως παραπάνω), εννοείται είναι ευπρόσδεκτα!

    || www.rimo-art.com ||
  •  19-06-2010, 17:25 59211 σε απάντηση της 59206

    Απ: List με struct ερώτηση

    Μάλλον έχεις μπερδέψει κάποια πράγματα και καλό είναι να κάνεις δυο βήματα πίσω για να τα κάνεις κτήμα σου προτού προχωρήσεις.Ας δούμε τις παρανοήσεις που έκανες:

    djrimokbp :

    αρχικοποιώ τις 2 μεταβλητές του struct σαν

     infos.x=0;
     infos.y=0;

    Αρχικοποίηση σίγουρα δεν γίνεται με αυτόν τον τρόπο,δες το language specification για λεπτομέρειες.

    djrimokbp :

    List<infos> list = new List<infos>();

    ...

    Η ερώτησή μου τώρα είναι η εξής... μετά την παραπάνω εντολή(αν διαβάζετε ακόμη Stick out tongue ) έχω δημιουργήσει τη λίστα μέσα στην οποία υπάρχει ένα instance του struct χωρίς να είναι αρχικοποιημένο, σωστά;

    Πέρα από τη λάθος αντίληψη περί του τι είναι αρχικοποίηση η λίστα όπως την έχεις ως εκείνο το σημείο δεν περιέχει κανένα instance της struct σου  διότι δεν έχεις προσθέσει κανένα.Με το να λες

    List<infos> list = new List<infos>();

    Λες "φτιάξε μου μια λίστα που θα είναι container αντικειμένων τύπου infos" και όχι "φτιάξε μου μια λίστα και πρόσθεσέ μου ένα instance του τύπου infos μέσα σε αυτή". 

    djrimokbp :

    Οπότε για να το αρχικοποιήσω πρέπει να βάλω και αυτή την εντολή:
    infosDict[bla bla].Add(infosStruct);

    Η Add προσθέτει στη λίστα σου ένα instance τύπου infos (την μεταβλητή infoStruct),δεν αρχικοποιεί κάποιο ήδη υπάρχον αντικείμενο μέσα στη λίστα.

    Ξεκαθάρισε λοιπόν τι είναι ένας τύπος δεδομένων και τι instance ενός τύπου δεδομένων,τι είναι αρχικοποίηση των fields ενός τύπου δεδομένων και έπειτα συζητάμε τι γίνεται αν βάλεις δύο ίδια instances μιας κλάσης ή μιας δομής (διαφορετικές περιπτώσεις αυτές οι δύο) σε μια generic λίστα.

  •  19-06-2010, 19:03 59212 σε απάντηση της 59211

    Απ: List με struct ερώτηση

    Να παρέμβω κι εγώ λιγάκι και πέρα από το να συμφωνήσω με τον darklynx, να αναφέρω ότι υπάρχει το Beginner's Developer Center στο MSDN με μαθήματα, video και samples ειδικά για όσους ξεκινάνε τώρα τον προγραμματισμό. Επειδή έχουμε μία παρόμοια συζήτηση σε άλλο thread, είναι ΑΠΑΡΑΙΤΗΤΟ να καταλάβει κάποιος τα βασικά πριν αρχίσει να ασχολείται με πιο προχωρημένα θέματα, αν δεν θέλει να πελαγοδρομήσει.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-07-2010, 13:08 59397 σε απάντηση της 59212

    Απ: List με struct ερώτηση

    Πλεον τα ξεκαθάρισα κάπως στο μυαλό μου!
    Σας ευχαριστώ πολύ και τους δύο... (άργησα λίγο λόγω υποχρεώσεων) !!!!! 

    || www.rimo-art.com ||
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems