vb.net - 比较字符串的最佳方法?
问题描述
场景:我创建了一个计算文件哈希的软件,并将其与我拥有的哈希列表文件(大约 100 万个 - 增长)进行比较,目前为 txt 格式。哪个是尽可能快地进行比较的最佳方法?
我正在使用这个功能:
Public HashList As New List(Of String)
Private Sub LoadHash()
For Each hash As String In IO.File.ReadAllLines("C:\test\hash.txt")
HashList.Add(hash)
Next
End Sub
Private Function CheckFile(ByVal filename As String) As Boolean
If HashList.Contains(MD5(filename)) Then
Return True
End If
Return False
End Function
任何改进此代码的建议?有更好的方法吗?
解决方案
尝试使用更好的集合类型,例如 HashSet。.NET 中有很多都有它们的用途。
Public HashList As New HashSet(Of String)
推荐阅读
- node.js - 将新用户插入 SQLite 表(Node.js)后添加 JWT 符号
- url-rewriting - TYPO3 9.5 URL 路由
- javascript - 如何通过按键在 React 中挂载/卸载组件?
- ios - SDWebImage - 如何更改 sharedImageCache 的缓存目录
- javascript - React Hook "React.useEffect" 在函数 "selectmenu" 中调用,它既不是 React 函数组件也不是自定义 React Hook 函数
- r - R中的for循环返回null?
- qt - 如何使用 QOpenGLFramebufferObject 对两个透明帧缓冲区对象进行 blit?
- r - 有没有办法将连续轴的标签更改为ggplot中的字符串?
- reactjs - 试图获取数据,数据字段标题为“description-3”。{items.description-3} 的正确语法是什么?
- python - 如何让 X 服务器在detectron2 中显示图像?