/// <summary> /// Traverse frequency array from the back to get n most frequency words. /// </summary> /// <param name="frequencyArray"></param> /// <param name="n"></param> /// <returns></returns> private WordOccurences GetTopNWords(OccurenceInfo[] frequencyArray, int n) { WordOccurences result = new WordOccurences(); //have to filter out null array entries int len = frequencyArray.Length; int index = 0; int count = 0; while (count < n) { OccurenceInfo fi = frequencyArray[len - index - 1]; //start at the back of the array if (fi != null) { result.Add(fi); count++; } index++; } return result; }