KeyValuePair or Dictionary for a method that should return a collection of key and values?
Apparently KeyValuePair isn't really intended to be used on its own outside of a Dictionary.
If we look at the signature of both types we'll find that
public struct KeyValuePair <TKey, TValue> { }
and for Dictionary:
public class Dictionary<TKey, TValue> : ... IEnumerable<KeyValuePair<TKey, TValue>> ... { }
so it's not a matter of KeyValuePair vs Dictionary but really IEnumerable<KeyValuePair<TKey, TValue>> vs Dictionary<TKey, TValue> and since a dictionary is an IEnumerable<KeyValuePair<TKey, TValue>> then the answer is easy: use a dictionary.
"KeyValuePair vs Dictionary"
No comments yet. -