c# - 获取哈希集 C# 中的值索引

标签 c#

是否可以在 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/

相关文章:

c# - 在 RabbitMQ 中获取一个交换器的所有队列

c# - CryptDeriveKey 算法名称

c# - ASP.NET MVC - 整个模型的显示名称

c# - 从列表 1 中删除不在列表 2 中的项目

c# - 从 Excel 插入数据集时数据在 255 个字符后被截断,但填充 DataTable 时没有问题

C# 和 Excel,按名称选择列并获取最高值

c# - 在继承的 UserControl 中通过 Designer 编辑 DataGridView

c# - Blazor WebAssembly 更新页面标题

c# - 作为返回参数的只读结构

c# - 过滤两个特殊字符之间的文本