You can try this:
string sentence = "Twinkle, Twinkle, Little Star";
string[] words = sentence.Split(new char[] { ' ', ',', '.', '!', ':', '?', ';' }, StringSplitOptions.RemoveEmptyEntries);
var groups = words.GroupBy(x => x);
foreach (var group in groups)
{
Console.WriteLine("{0} - {1}", group.Key, group.Count());
}
How this works: after splitting the sentence into words, you group the words. Then you iterate over all groups and you print the key (the word) and the count of words in the group.