我有HashSet<string> DirectoryHolding = new HashSet<string>();
如果没有for语句,我怎么说我想要indexOf [1]?
答案 0 :(得分:4)
您可以使用LINQ
using System.Linq;
DirectoryHolding.ElementAt(1);
答案 1 :(得分:2)
HashSet
不保留项目的主要顺序,因此它没有索引访问权限。内部HashSet
是哈希表,其值也是键。
答案 2 :(得分:1)
使用DirectoryHolding.ElementAt(1);
答案 3 :(得分:1)
如果没有for语句,你就无法做到(你可以用linq来做,但是迭代这个集合,即使你从未在代码中写过“for”)。
无论如何,要警告集合是无序的。这意味着集合中任何元素的位置都可能发生变化。鉴于当前的实现,只要HashSet必须增加其容量,该位置就会改变。