// Main.
        static void Main(string [] args)
        {
            string inputFile  = "";
            string outputFile = "";

            FrequencyAnalyzer.SortingMode sort = FrequencyAnalyzer.SortingMode.Unicode;
            if (args.Length == 0)
            {
                return;
            }
            inputFile  = args [0];
            outputFile = TruncateFileExtension(inputFile) + " [freq].txt";
            ParseArguments(args, ref outputFile, ref sort);

            FrequencyAnalyzer textAnalyzer = new FrequencyAnalyzer();

            textAnalyzer.Analyze(inputFile, outputFile, sort);
//      Console.ReadKey ();
        }
        // Return a sorted list of all characters from the dictionary.
        public List <char> Characters(FrequencyAnalyzer.SortingMode sort)
        {
            Dictionary <char, int> .KeyCollection Keys = Frequencies.Keys;
            List <char> keyList = new List <char> (Keys.Count);

            foreach (char letter in Keys)
            {
                keyList.Add(letter);
            }
            switch (sort)
            {
            case FrequencyAnalyzer.SortingMode.Frequency:
                keyList.Sort(LessFrequentThan);
                break;

            case FrequencyAnalyzer.SortingMode.Unicode:
            default:
                keyList.Sort();
                break;
            }


            return(keyList);
        }
 // Parse the command line parameters.
 private static void ParseArguments(string [] args, ref string outputFile,
                                    ref FrequencyAnalyzer.SortingMode sort)
 {
     for (int i = 1; i < args.Length; i++)
     {
         if (args [i] == "-o" && i + 1 < args.Length)
         {
             i++;
             outputFile = args [i];
         }
         if (args [i] == "-sort" && i + 1 < args.Length)
         {
             i++;
             if (args [i] == "uni")
             {
                 sort = FrequencyAnalyzer.SortingMode.Unicode;
             }
             if (args [i] == "freq")
             {
                 sort = FrequencyAnalyzer.SortingMode.Frequency;
             }
         }
     }
 }