Сколько раз каждая буква встречается в тексте - C#
Формулировка задачи:
Как сделать так, чтобы мне выводило сколько раз каждая буква встречалась в тексте? И еще, как можно изменить код, чтобы строчная и заглавная считались за одну букву?
public void Count(string text)
{
int count = 0;
int num = text.Length;
double freq;
string stralfavit = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; //33
string zagalfavit = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя".ToUpper();
for (int i = 0; i < text.Length; i++)
{
for (int j = 0; j < stralfavit.Length; j++)
{
if (text[i] == stralfavit[j]) count++;
}
for (int z = 0; z < zagalfavit.Length; z++)
{
if (text[i] == zagalfavit[z]) count++;
}
}
freq = (double)count / num;
MessageBox.Show(count.ToString());
}Решение задачи: «Сколько раз каждая буква встречается в тексте»
textual
Листинг программы
string str = "jhgkjhgKJHkjhgJkjhgfJHGF";
char lowCh;
Dictionary<char, int> dict = new Dictionary<char, int>();
foreach (var ch in str)
{
lowCh = char.ToLower(ch);
if (dict.ContainsKey(lowCh))
dict[lowCh]++;
else
dict.Add(lowCh, 1);
}
foreach (var item in dict)
Console.WriteLine(item.Key + "\t" + item.Value);