/// <summary> /// Constructor /// </summary> public Alphabet(eLetterOrder letterOrder) { this.SetLetterOrder(letterOrder); }
/// <summary> /// Set the ordering of the letters. Either flat alphabetical ordering, or /// ordering that makes the code sequences per letter the same as morse code. /// </summary> /// <param name="letterOrder"></param> public void SetLetterOrder(eLetterOrder letterOrder) { _currentLetterOrder = letterOrder; switch (_currentLetterOrder) { case eLetterOrder.ALPHABETICAL: Letters = LettersAlphabeticalOrder; break; case eLetterOrder.MORSE_CODE: Letters = LettersMorseCodeOrder; break; default: _currentLetterOrder = eLetterOrder.ALPHABETICAL; Letters = LettersAlphabeticalOrder; throw new Exception("Enumeration not defined in eLetterOrder: " + _currentLetterOrder.ToString()); } START_INDEX = 0; LAST_INDEX = Letters.Length - 1; MIDDLE_INDEX = (LAST_INDEX - START_INDEX) / 2; this.ResetSearchIndexes(); }