我有一个文件,我正在使用StreamReader
阅读,然后将其分成单个单词,这些单词将根据dictionary
进行检查。我能够将文本拆分并循环遍历,但是循环不会结束,它会保持循环并且不会在文件末尾停止。见下面的代码;
private void Load_File_Contents_BTN_Click(object sender, RoutedEventArgs e)
{
string FilePath = File_Path_TB.Text;
//Implements Dictionary
var fileParser = new FileParser(@"C:\textwords.csv");
fileParser.Parse();
//handles reading, splitting and searching of file
FileStream inFile = new FileStream(FilePath, FileMode.Open, FileAccess.Read);
StreamReader readFile = new StreamReader(inFile);
char[] stringSep = { ',', ' ', '!', '?', '.' };
string[] isInFile = readFile.ReadToEnd().Split(stringSep);
for (int i = 0; i < isInFile.Length; i++)
{
while (i < isInFile.Length)
{
foreach (string s in isInFile)
{
if (fileParser.IsWordAvailable(s.ToString()))
{
MessageBox.Show("Match found");
Console.WriteLine(s.ToString());// displays word checked in console
}
else
{
MessageBox.Show("No match");
Console.WriteLine(s.ToString());// displays word checked in console
}
}
}
}
}
我不确定我在这里错过了什么。
任何见解都将不胜感激
干杯,
答案 0 :(得分:3)
while
循环期望在i >= isInFile.Length
时终止,i
永远不会在while
循环块内更新isInFile
。无限循环。
事实上,您似乎试图以三种不同的方式迭代for
:while
,foreach
和foreach
。您可能只需要viewDidLoad
循环。