To iterate over graphemes you can use the methods of the StringInfo
class.
Each combination of base character + combining characters is called a 'text element' by the .NET documentation, and you can iterate over them using a TextElementEnumerator
:
var str = "கமலி";
var enumerator = System.Globalization.StringInfo.GetTextElementEnumerator(str);
while (enumerator.MoveNext())
{
Console.WriteLine(enumerator.Current);
}
Output:
க
ம
லி