Есть HashSet
HashSet<int> nxn = new HashSet<int>();
Random rnd = new Random();
while ( nxn.Count != 9 )
{
nxn.Add(rnd.Next(ot, to));
}
Нужно занести его в целочисленный массив. Пытался сделать через .CopyTo(), но он, насколько я понял, работает только с одномерными массивами. Как в HashSet извлекать элементы по индексу?
UPD: судя по всему вопрос в теле отличается от вопроса в заголовке.
Для того, чтобы получить массив из HashSet
достаточно воспользоваться методом расширения ToArray
var arr = hashSet.ToArray();
HashSet
реализует интерфейс IEnumerable<T>
, для классов реализующих этот интерфейс есть метод расширения ElementAt
Поэтому формально ответ на вопрос будет:
hashSet.ElementAt(index);
При этом каждый раз будет пройдена вся коллекция с первого элемента, до элемента с индексом index
Как подсказывает @Андрей
Следует добавить, что HashSet
не гарантирует порядок возврата, поэтому ElementAt(x)
может возвращать разные элементы, например, до и после очередного добавления в HashSet
Если нужен доступ по случайному индексу - то стоит использовать другую коллекцию.
Господа, встал такой вопрос - имеется SSO SAML token примерно в таком виде -
Есть свой List - как реализовать,чтобы слова были в алфавитном порядке от 1-ой буквы