Попробуй это. Он не будет обрабатывать значения NULL, но будет работать с типами значений и ссылочными типами. Поскольку это метод расширения, вы можете просто вызвать .ToElementString () для любого экземпляра массива.
public static string ToElementString<T>(this T[] array) {
var middle = array.Select(x => x.ToString().Aggregate((l,r) => l+","+r);
return "[" + middle + "]";
}
Вот версия, которая использует компоновщик и потенциально будет немного более эффективной (наверняка знает только профилировщик). Он также будет правильно обрабатывать нулевые значения.
public static string ToElementString<T>(this T[] array) {
var builder = new StringBuilder();
builder.Append('[');
for(int i =0; i < array.Length; i++ ) {
if ( i > 0 ) {
builder.Append(',');
}
builder.Append(array[i]);
}
builder.Append(']');
return builder.ToString();
}