When is it better to use a Tuple versus a KeyValuePair?
I've generally used the KeyValuePair<TKey,TValue> type whenever I have data that is pair-related in the sense that one is a key to the other. If the data is unrelated then the Tuple<T1,T2> type makes more sense and I'd go with that. Now I just read this article about why to generally avoid KeyValuePair<TKey,TValue> and prefer Tuple<T1,T2> . The primary argument being the performance benefit of Tuple<T1,T2> . Outside performance, is there any reason a KVP would be a better choice than a Tuple<T1,T2> ? vcsjones Well, the type could be considered poorly named, for one. A KeyValuePair as named