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.
No comments:
Post a Comment