// 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; } } } }