Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取hashset C中值的索引#_C# - Fatal编程技术网

C# 获取hashset C中值的索引#

C# 获取hashset C中值的索引#,c#,C#,是否可以在HashSet中检索值的索引 我有一个哈希集: HashSet<int> allE = mesh.GetAllNGonEdges(nGonTV); HashSet allE=mesh.GetAllNGonEdges(nGonTV); 我想检索类似于数组函数的值索引: Array.IndexOf(…)在HashSet中,“索引”是没有意义的-它不能保证与插入顺序相同,并且在添加和删除条目时会随着时间的推移而改变(以非保证方式,例如,如果添加一个新的条目,它可能会在中间,在

是否可以在
HashSet
中检索值的索引

我有一个哈希集:

HashSet<int> allE = mesh.GetAllNGonEdges(nGonTV);
HashSet allE=mesh.GetAllNGonEdges(nGonTV);
我想检索类似于数组函数的值索引:
Array.IndexOf(…)
HashSet
中,“索引”是没有意义的-它不能保证与插入顺序相同,并且在添加和删除条目时会随着时间的推移而改变(以非保证方式,例如,如果添加一个新的条目,它可能会在中间,在结束时,在开始时,它可以重新排序所有其他的东西……)即使您多次在集合上迭代而不修改它,也不会保证看到相同的顺序,尽管我希望这是可以的。 您可以通过以下方式获取当前索引:

var valueAndIndex = hashSet.Select((Value, Index) => new { Value, Index })
                           .ToList();

…但是您需要非常清楚,索引不是条目中固有的,而且基本上是不稳定的。

HashSet
的想法是,条目的顺序并不重要。