Dot-Net
是否存在具有鍵/值對的通用集合,其中鍵可以多次出現?
我想使用一個通用集合
Dictionary,但Dictionary要求每個鍵都是唯一的。我對同一個“鍵”有多個值,所以我需要一個允許這樣做的通用集合。我意識到這使得鑰匙不再是真正的鑰匙,但我不知道還能叫它什麼。
幾個選項供您考慮:
- use a —為每個鍵
Dictionary<TKey, List<TValue>>保留一個值*列表,*而不是防止相同鍵的重複值(即重複對);- use a —為每個鍵
Dictionary<TKey, HashSet<TValue>>保留一*組值,*防止同一鍵出現重複值;- 使用 a
List<KeyValuePair<TKey, TValue>>- 保留對列表,不防止相同鍵的重複值。請注意,在後一種情況下
KeyValuePair是 astruct,而不是 aclass,因此這意味著處理方式有所不同。正確的選擇取決於您的實際案例。