【发布时间】:2017-11-05 18:20:57
【问题描述】:
我试图找出.txt 文件是否包含存储在名为Abreviated 的列表中的单词。该列表通过从csv 文件中读取值来填充,如下所示;
StreamReader sr = new StreamReader(@"C:\textwords.csv");
string TxtWrd = sr.ReadLine();
while ((TxtWrd = sr.ReadLine()) != null)
{
Words = TxtWrd.Split(Seperators, StringSplitOptions.None);
Abreviated.Add(Words[0]);
Expanded.Add(Words[1]);
}
我想使用这个列表来检查.txt 文件是否包含列表中的任何单词。正在使用streamreader 读取.txt 文件并存储为字符串FileContent。我必须尝试查找匹配项的代码如下;
if (FC.Contains(Abreviated.ToString()))
{
MessageBox.Show("Match found");
}
else
{
MessageBox.Show("No Match");
}
这将始终返回 else 语句,即使其中一个单词在文本文件中。
关于如何使它工作的任何建议?
提前致谢!
【问题讨论】:
-
什么是输入(csv文件)?
-
什么是
Abreviated?如果那是List<string>,那么您认为Abreviated.ToString()是什么?提示:它不是包含列表中所有项目的字符串... -
顺便问一下,你是不是故意跳过文件的第一行?
-
这是学习How To Debug的绝佳机会。
-
确实,调试一下,看看
List<string>.ToString()给了你什么。正如我所暗示的,它不是你认为的那样,它不是对你的目的有用。另一个提示:您可以遍历一个列表并检查该条目是否在另一个列表中。