using System.Collections.Generic;
public static IEnumerable<string> Get(string input)
for (i = 0, start = 0; i < input.Length; i++)
if (input[i] != input[start])
yield return $"{i - start}{input[start]}";
yield return $"{i - start}{input[start]}";
public static string Get2(string input)
var sb = new StringBuilder();
for (i = 0, start = 0; i < input.Length; i++)
if (input[i] != input[start])
sb.Append($"{i - start}{input[start]}");
sb.Append($"{i - start}{input[start]}");
public static void Main()
var result = string.Concat(Get("xaaabbccaadddd"));
Console.WriteLine(result);
Console.WriteLine( Get2("xaaabbccaadddd"););