public static string ToSeparatedString <T>( this IEnumerable <T> value, string separator = ", ", int groupLength = 1, ITextFormatter <T>?itemFormatter = default, string nullPlaceholder = "") { var formatter = new SeparatorFormatter <T>( separator, groupLength, itemFormatter, nullPlaceholder ); return(formatter.WriteToString(value)); }
public void ExampleTest() { var intArray = new[] { 1, 2, 3, 4, 5 }; var formatter = new SeparatorFormatter <int>(); formatter.Write(intArray, Console.Out); var formatted = formatter.WriteToString(intArray); Assert.Equal("1, 2, 3, 4, 5", formatted); // or use the extension method on any IEnumerable<T> var formattedViaExtension = intArray.ToSeparatedString(); Assert.Equal(formatted, formattedViaExtension); Assert.Equal("one, two, three", new [] { "one", "two", "three" }.ToSeparatedString()); }