Κάνεις μπαμ από μακρυά ότι είσαι άρτι αφιχθείς από τον κόσμο της vb6! Ωραία!
1) Όχι, δεν χρειάζεται να αρχικοποιήσεις τις τιμές όταν πρόκειται για string, integer κλπ. Αυτού του είδους οι τύποι στο .net λέγονται value types. Άλλοι τύποι π.χ. treenode, textbox λέγονται reference types και όχι τύπου object, γιατί στο .net και όλα τα types, ακόμα και τα string, integer κλπ κληρονομούν το System.Object.
2) Μια χαρά είναι. Αγκύλες θα βάλεις μόνο αν θέλεις στην ίδια "γραμμή" με την αρχικοποιήση να ορίσεις και μερικές αρχικές τιμές στο TreeNode (μμμ υποστηρίζεται αυτό στην vb ή μόνο στην c#;).
Γενικά η Redim είναι λίγο ξεπερασμένη και υπάρχει για λόγους συμβατότητας. Θα πρότεινα να χρησιμοποιήσεις άλλα data structures όπως τα List, IList, ArrayList, HashTable.
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.