c# - 平等比较器具有稳定的 HashCode 和忽略变音符号的选项?
问题描述
我正在寻找一个IEqualityComparer<String>
支持稳定的HashCode,即执行/进程之间的相同 HashCode 。我还需要它来忽略大小写和非间距组合字符(例如变音符号)。
在.NET中是否有任何“简单”的方法可以实现这一点?我已经开始使用忽略大小写的稳定 HashCode 开始我的自定义实现,但我开始希望我可以以某种方式使用.NET中已经存在的实现。
内置的字符串比较器在procesee之间向HashCodes添加了一些随机种子以使其不稳定(我认为因为他们不能保证它在.NET运行时之间保持稳定?)但我认为我可以通过确保HashCodes来处理我移动到另一个运行时时,persist 会被擦除/重建。
无论如何,有没有办法访问内部校验和计算(没有随机性)?也许有反思?
更新:我不是原因专家,但很明显 HashCode 在运行时的计算方式不同。我需要它是因为我有一个基于磁盘的查找索引,它使用字符串的哈希码作为键,并且由于它是持久的,我显然需要它们在运行时相同。当然,我可以用我喜欢的任何方式计算我自己的校验和,但由于 .NET 已经在这方面做得很好,我希望我能利用这一点。但是如果没有“种子”或您想要称呼它的东西,那就是使哈希码在运行时之间有所不同的东西。
解决方案
推荐阅读
- bash - 如何通过 bash 脚本使用此处的字符串将字母传递给 abaqus 数据检查?
- android - 当我在其中使用 docker 时,jenkinsfile 失败
- zabbix - zabbix Trapper VS zabbix agent
- druid - 如何检查德鲁伊转换规范表达式中的“IN”子句
- kotlin - 如何解决 PW Generator 无法处理特定字符?
- python - 如何使用这个 django 模型创建表单?
- shell - 从一个文件中获取数据并使用 awk 将其发送到另一个文件
- excel - 修改循环以包含 3 个字符串
- python - 使用 Python 读取()图像文件并将其发送到 HttpResponse
- python - keras 迁移学习在之前添加一层并选择特定层作为输出