Подсчет количества вхождений каждого из символов в строке

Нужно написать алгоритм который подсчитает сколько элементов одного вида в строке. Начал делать, попал в тупик:

using System;
using System.Text.RegularExpressions;
namespace Reverse_String
{
    internal class Program
    {
        static void Main(string[] args)
        {
            
            string a = Console.ReadLine();
            var str = Regex.Replace(a, "[-.?!) ;(,:]", "").ToLower();
            char[] ch = new char[str.Length];
            for (int i = 0; i < str.Length; i++)
            {
                ch[i] = str[i];
            }
            
            for (int i = 0;i < ch.Length; i++)
            {
                int k = 0;
                for(int j = 0; j < ch.Length; j++)
                {
                    if (ch[i] == ch[j])
                    {
                        k++;
                        Console.WriteLine($"{ch[i]}  {k}");
                        
                    }
                }
            }
            Console.ReadLine();
        }
    }
}

Пример: Корова к-1, о-2, р-1, в-1 , а-1. Подскажите Пожалуйста, что делаю не так, где ошибся.


Ответы (0 шт):