当前位置: 首页 > 编程语言 > C#

匹配大文本文件中的字符串?在大型文本文件中共享

时间:2023-04-10 20:40:54 C#

匹配字符串?我有一个字符串列表,在一个大小为152MB的文本文件中包含大约700万个项目。我想知道实现接受单个字符串并返回它是否在该字符串列表中的函数的最佳方法是什么。您是否需要多次匹配此文本文件?如果是这样,我创建一个HashSet。否则,只需逐行阅读(我假设每行一个字符串)并查看它是否匹配。在内存中,152MB的ASCII最终将超过300MB的Unicode数据——但现代机器中有足够的内存,因此将所有内容保存在HashSet中将使重复查找非常快。绝对最简单的方法是使用File.ReadAllLines,虽然这将创建一个数组,然后将被丢弃-内存使用量不是很大,但可能还不错:HashSetstrings=newHashSet(File.ReadAllLines("data.txt"));...if(strings.Contains(stringToCheck)){...}取决于您想做什么。当您想一遍又一遍地重复搜索匹配项时,我会将整个文件加载到内存中(到HashSet中)。在那里寻找匹配项非常容易。以上就是C#学习教程:匹配大文本文件中的字符串?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: