您是否需要多次匹配此文本文件?如果是这样,我会创建一个HashSet<string>.否则,只是逐行读取它(我假设每行有一个字符串)并查看它是否匹配.
在内存中,152MB的ASCII最终将超过300MB的Unicode数据 - 但是在现代机器中有足够的内存,因此将所有内容保留在一起HashSet<string>将使得重复查找非常快.
绝对最简单的方法可能是使用File.ReadAllLines,虽然这将创建一个数组,然后将被丢弃 - 不是很好的内存使用,但可能不是太糟糕:
HashSet<string> strings = new HashSet<string>(File.ReadAllLines("data.txt"));
...
if (strings.Contains(stringToCheck))
{
...
}
Run Code Online (Sandbox Code Playgroud)