anjelinio wrote: |
Αν δεν κάνω λάθος - και πιστεύω οτι δεν κάνω :) - όλα τα non-primitive types περνάνε by reference στο ArrayList ... οπότε μπορείς να μην ανησυχείς για pointers κτλ κτλ |
|
Με όλο το σεβασμό, παρακαλώ επιτρέψτε μου μια διόρθωση (αν και το παραπάνω νόημα είναι πάνω κάτω σωστό)...
Δεν είναι (ή λέγονται) non-primitive types...
Υπάρχουν δύο είδη τύπων δεδομένων στην C#: value types και reference types... Τα reference types είναι ότι προκύπτει από classes, interfaces και delegates + ότι είναι object ή string... Value types είναι όλοι οι τύποι αριθμητικών (int, byte, char, float κλπ), τα enums, τα bool και ότι είναι struct... Για λεπτομέρειες δες: εδώ, εδώ και εδώ...
Τα reference types λοιπόν αποθηκεύουν references στα actual data...
Οπότε pontifikas δεν υπάρχει λόγος να "φοβάσαι" την μη ύπαρξη pointers στην C#. Τα reference types είναι κάτι σαν managed pointers...
(Παρένθεση: υπάρχουν και pointer types όπως ξέρεις αλλά μόνο αν χρησιμοποιήσεις το unsafe keyword).
Στο θέμα μας τώρα...
Φτιάξε το όπως θέλεις.
Εγώ θα έφτιαχνα ένα collection χρησιμοποιόντας το System.Collections.Specialized.NameObjectCollactionBase.
φιλικά
rousso
rousso