public static string Concat(this IList <string> values, string delimiter, StringEncodeHandler encodeValue) { if (values.Count == 0) { return(string.Empty); } StringBuilder sb = new StringBuilder(encodeValue(values[0])); for (int i = 1; i < values.Count; i++) { sb.Append(delimiter).Append(encodeValue(values[i])); } return(sb.ToString()); }
public static string FriendlyConcat <T>(this IEnumerable <T> values, StringEncodeHandler <T> encodeValue) { var sb = new StringBuilder(); var len = values.Count(); int i = 0; foreach (var v in values) { if (i > 0 && i < len - 1) { sb.Append(", "); } else if (i == len - 1 && len > 1) { sb.Append(" and "); } sb.Append(encodeValue(v)); i++; } return(sb.ToString()); }
public static string Concat <T>(this IEnumerable <T> values, string delimiter, StringEncodeHandler <T> encodeValue) { StringBuilder sb = new StringBuilder(); int c = 0; if (values == null) { values = new T[0]; } foreach (T k in values) { if (c++ > 0) { sb.Append(delimiter); } sb.Append(encodeValue(k)); } return(sb.ToString()); }
public static string Concat <T>(this IEnumerable <T> values, StringEncodeHandler <T> encodeValue) { return(values.Concat("", encodeValue)); }