FYI, the .NET 4.0 version of string.Join()string.Join() has some extra overloadsextra overloads, that work with IEnumerable instead of just arrays, including one that can deal with any type T:
public static string Join(string separator, IEnumerable<string> values) public static string Join<T>(string separator, IEnumerable<T> values)