获取hashset C#中的value索引

Pet*_*ras 4 c#

是否有可能检索到的价值指数HashSet

我有一个hashset:

HashSet<int> allE = mesh.GetAllNGonEdges(nGonTV);
Run Code Online (Sandbox Code Playgroud)

我想检索类似于数组函数的索引值: Array.IndexOf(...)

Jon*_*eet 8

"索引"在一个方面毫无意义HashSet- 它不能保证与插入顺序相同,并且随着时间的推移它可以随着添加和删除条目而变化(以非保证方式,例如,如果添加新条目,它可能会结束在中间,最后,在开始;它可以重新排序其他一切...)如果你多次迭代集合而不在时间之间修改它,甚至不能保证你会看到相同的顺序,尽管我希望这没关系.

您可以使用以下内容获取当前索引:

var valueAndIndex = hashSet.Select((Value, Index) => new { Value, Index })
                           .ToList();
Run Code Online (Sandbox Code Playgroud)

...但你需要非常清楚索引不是条目中固有的,并且基本上是不稳定的.