TommyCarlier said:exoteric said:*snip*I would be against tuple enumeration. A tuple is not a collection and should not be considered as such. If you really want that feature, you could build it yourself:
public static class TupleExtensions { public static IEnumerable<T> ToCollection<T>(this Tuple<T, T> tuple) { yield return tuple.Item1; yield return tuple.Item2; } public static IEnumerable<object> ToCollection<T1, T2>(this Tuple<T1, T2> tuple) { yield return tuple.Item1; yield return tuple.Item2; } public static IEnumerable<T> ToCollection<T>(this Tuple<T, T, T> tuple) { yield return tuple.Item1; yield return tuple.Item2; yield return tuple.Item3; } public static IEnumerable<object> ToCollection<T1, T2, T3>(this Tuple<T1, T2, T3> tuple) { yield return tuple.Item1; yield return tuple.Item2; yield return tuple.Item3; } ... }
A tuple is a collection. It's just a heterogeneous collection where elements do not always have the same type. That said, using extension methods for tuple enumeration could be a pretty good midpoint between no support and built-in support.