HybridDictionary is the most efficient choice for storing name/value pairs when the quantity is unknown. It automatically uses a ListDictionary for small collections (which is efficient for few items) and switches to a Hashtable when the collection grows (which is efficient for larger collections). Hashtable is always a hash table (overhead for small collections), ListDictionary is always a linked list (slow for large collections), and ArrayList stores only values not key-value pairs.