如何解决获取集合哈希的最快方法是什么
我正在尝试在 C# 中创建一个扩展方法,它接受一组对象并可以从中生成散列。问题是我一直无法找到一种快速的方法。我试图在 O(1) 时间内完成,但我还没有找到任何有用的信息。这是我目前所拥有的,但它很慢并且实际上不起作用(这只是一个例子):
public static int GetCollectionHash(this IEnumerable collection)
{
HashCode hash = new();
foreach (var o in collection)
{
hash.Add(o);
}
return hash.ToHashCode();
}
解决方法
做你想做的唯一方法是创建你自己的集合并覆盖 add/remove/etc 方法并在调用时更新包含散列的私有变量
此时,只需读取该新变量
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。