Candor.LexicalCharacterSet.FindNext C# (CSharp) Method

FindNext() public method

Finds the next character in this set after a given character.
public FindNext ( char after, bool ignoreCase ) : char
after char
ignoreCase bool
return char
        public char FindNext(char after, bool ignoreCase)
        {
            var index = _characters.IndexOf(after);
            for (var c = index + 1; c <= _characters.Count - 1; c++)
            {
                if (!_characters[c].ToString(CultureInfo.InvariantCulture)
                             .Equals(after.ToString(CultureInfo.InvariantCulture),
                                     ignoreCase
                                         ? StringComparison.InvariantCultureIgnoreCase
                                         : StringComparison.InvariantCulture))
                    return _characters[c];
            }
            if (ignoreCase && char.IsLetter(after))
            {
                for (var c = 0; c < index; c++)
                {
                    if (!char.IsLetter(_characters[c]))
                        return _characters[c];
                    if (char.IsLower(after) && char.IsLower(_characters[c]))
                        return _characters[c];
                    if (char.IsUpper(after) && char.IsUpper(_characters[c]))
                        return _characters[c];
                }
            }
            return _characters[0];
        }