是否有可能检索到的价值指数HashSet?
我有一个hashset:
HashSet<int> allE = mesh.GetAllNGonEdges(nGonTV);
Run Code Online (Sandbox Code Playgroud)
我想检索类似于数组函数的索引值:
Array.IndexOf(...)
"索引"在一个方面毫无意义HashSet- 它不能保证与插入顺序相同,并且随着时间的推移它可以随着添加和删除条目而变化(以非保证方式,例如,如果添加新条目,它可能会结束在中间,最后,在开始;它可以重新排序其他一切...)如果你多次迭代集合而不在时间之间修改它,甚至不能保证你会看到相同的顺序,尽管我希望这没关系.
您可以使用以下内容获取当前索引:
var valueAndIndex = hashSet.Select((Value, Index) => new { Value, Index })
.ToList();
Run Code Online (Sandbox Code Playgroud)
...但你需要非常清楚索引不是条目中固有的,并且基本上是不稳定的.