我现在有下面的循环:在do {} while()循环中对逻辑运算符(多组条件)进行分组?
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
位,但必须弄清楚如何正确地做到这一点。
让我知道是否需要更多信息。
谢谢!
很难理解你实际需要完成什么。你能否描述一般问题(而不是循环方面的问题)可能解决你的问题潜伏在不同的抽象层次上(听起来更奇怪):) – Lu4 2011-01-29 10:03:00