В настоящее время у меня есть следующий цикл:
do {
checkedWord = articleWords.Dequeue().TrimEnd('?', '.', ',', '!');
correct = _spellChecker.CheckWord(checkedWord);
} while (correct && articleWords.Count > 0);
Я ставлю в очередь слова из массива, который был выделен из текстового поля с ' '
в качестве разделителя.Цикл работает нормально, за исключением того, что я не хочу, чтобы какие-либо пустые записи ""
или что-то не буквенно-цифровое, чтобы остановить цикл.В настоящее время, если между словами больше одного пробела, цикл заканчивается, и он продолжает получать предложения слов от проверки орфографии.
Если я сделаю while (correct && articleWords.Count > 0 || checkedWord == "");
, он пропустит все пустые записи очереди, нопо-прежнему зависает в таких вещах, как новые строки - поэтому, если текстовое поле, из которого оно загружается, содержит пару абзацев, оно облажается на новой строке, разделяющей их.Я также пробовал while (correct && articleWords.Count > 0 || !Char.IsLetterOrDigit(checkedWord, 0));
, но это также не работает.
Вопрос 1 : Можно ли сгруппировать такие условия, как (statement1 == true && count > 0) || (statement1 == false && Char.IsLetterOrDigit(char))
?- Это означает, что все условия в первой группе должны быть выполнены ИЛИ все условия во втором наборе должны быть.
Вопрос 2 : я хочу, чтобы цикл продолжался до тех пор, покаобнаружена фактическая орфографическая ошибка, и она игнорирует такие вещи, как пустые записи в очереди, а также все, что не является буквенно-цифровым символом в начале строки.
Я подозреваю, что я близок сChar.IsLetterOrDigit
бит, но нужно выяснить, как это сделать правильно.
Дайте мне знать, если потребуется дополнительная информация.
Спасибо!