How to count the frequency of letters in a text file with C#

1 Answer

0 votes
using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[char.MaxValue];

            string s = File.ReadAllText("d:\\data.txt");

            foreach (char ch in s)
                arr[ch]++;

            for (int i = 0; i < char.MaxValue; i++)
            {
                if (arr[i] > 0 && char.IsLetterOrDigit((char)i))
                    Console.WriteLine("char: {0}  Frequency: {1}", (char)i, arr[i]);
            }
        }
    }
}

/*
run:
 
char: a  Frequency: 4
char: c  Frequency: 4
char: h  Frequency: 2
char: i  Frequency: 1
char: j  Frequency: 2
char: n  Frequency: 1
char: o  Frequency: 1
char: p  Frequency: 4
char: r  Frequency: 1
char: s  Frequency: 1
char: t  Frequency: 2
char: v  Frequency: 2
char: y  Frequency: 1
    
*/

 



answered Mar 13, 2017 by avibootz
edited Mar 13, 2017 by avibootz

Related questions

1 answer 155 views
155 views asked Mar 11, 2017 by avibootz
1 answer 192 views
1 answer 302 views
1 answer 118 views
1 answer 641 views
...