Как подсчитать количество встречающихся букв в строке?
Итак, у меня уже есть код, который подсчитывает, сколько вхождений Буквы в строку. Теперь я не знаю, как сделать так, чтобы он считал символ(например, сколько "!" есть). У меня есть строка с алфавитом и одной пользовательской буквой "А", поэтому мне нужно знать, как использовать эти буквы из "R"("string R = "..." ) для подсчета встречаемости Буквы в консоли. Я слышал, что лучший способ-использовать indexof (), но я понятия не имею, как его использовать?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; using System.IO; namespace _5._1 { class LetterOccur { private const int CMax = 256; private int[] Rn; public string eil { get; set; } public string R = "AĄBCDEFGHIJKLMNOPRSTUVQZW"; public LetterOccur() { eil = ""; Rn = new int[CMax]; for (int i = 0; i < CMax; i++) { Rn[i] = 0; } } public int Take(char sim) { return Rn[sim]; } public void many() { for (int i = 0; i < eil.Length; i++) { if (('A' <= eil[i] && eil[i] <= 'Z')||(('a' <= eil[i] && eil[i] <= 'z'))) { Rn[eil[i++]]++; } } } } class Program { const string CFr = "..\\..\\Rezults.txt"; static void Main(string[] args) { LetterOccur eil = new LetterOccur(); string R = "AĄBCDEFGHIJKLMNOPRSTUVQZW"; Console.WriteLine("Enter a line of words: "); string line = Console.ReadLine(); eil.eil = line; eil.many(); print(CFr, eil, R); } static void print(string fv, LetterOccur eil, string R) { using (var fr = File.CreateText(fv)) { for (char sim = 'a'; sim <= 'z'; sim++) { fr.WriteLine("{0, 3:c} {1, 4:d} |{2, 3:c} {3, 4:d}", sim, eil.Take(sim), Char.ToUpper(sim), eil.Take(Char.ToUpper(sim))); } } } } }
Что я уже пробовал:
Не знаю, как считать пользовательские символы в C#