Try this:
string chars = "A|A|B|A+|C|B+|A+|C|A|B+|B";
string output = string.Join("; ", chars.Split('|')
.GroupBy(x => x)
.OrderBy(x => x.Key)
.Select(x => string.Format("{0}: {1}", x.Key, x.Count())));
Console.WriteLine(output);
Output:
A: 3; A+: 2; B: 2; B+: 2; C: 2