是否可以在 HashSet
中检索值的索引?
我有一个哈希集:
HashSet<int> allE = mesh.GetAllNGonEdges(nGonTV);
我想检索类似于数组函数的值索引:
Array.IndexOf(...)
最佳答案
“索引”在 HashSet
中是无意义的 - 它不能保证与插入顺序相同,并且它可以随着时间的推移随着您添加和删除条目而改变(以非保证的方式,例如,如果您添加一个新条目,它可能会在中间、最后、开始处结束;它可能会重新排序其他所有内容……)甚至不能保证如果您遍历,您会看到相同的顺序设置多次而在两次之间修改它,尽管我期望没问题。
您可以通过以下方式获取当前索引:
var valueAndIndex = hashSet.Select((Value, Index) => new { Value, Index })
.ToList();
...但是您需要非常意识到索引不是条目中固有的,并且基本上是不稳定的。
关于c# - 获取哈希集 C# 中的值索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45162093/