public static void Main()
Console.WriteLine("Hello World");
Console.WriteLine("what".Truncate(4));
Console.WriteLine("qqqqqqqqqq".Truncate(4));
Console.WriteLine("qqqqqqqqqq".Truncate(6));
Console.WriteLine("qqqqqqqqqq".Truncate(20));
public static class Extensions
public static string Truncate(this string current, int length)
return current.Truncate(length, " ...");
public static string Truncate(this string current, int length, string suffix)
if (string.IsNullOrEmpty(current)) current = "";
if (current.Length <= length) return current;
if (length <= suffix.Length) return current.Substring(0, length);
length = Math.Max(0, length - suffix.Length);
return current.Substring(0, length) + suffix;