EN
C# / .NET - get random element from HashSet
0 points
In this article, we would like to show you how to get random element from HashSet in C#.
In this example, we generate a random number between 0
and HashSet size
. Then using iterator we iterate through the HashSet till we reach the element located at the randomNumber
position.
xxxxxxxxxx
1
using System;
2
using System.Linq;
3
using System.Collections.Generic;
4
5
public class Program
6
{
7
public static void Main()
8
{
9
HashSet<string> letters = new HashSet<string>();
10
11
letters.Add("A");
12
letters.Add("B");
13
letters.Add("C");
14
letters.Add("D");
15
letters.Add("E");
16
17
int size = letters.Count();
18
int randomNumber = new Random().Next(size);
19
int i = 0;
20
21
foreach (string letter in letters)
22
{
23
if (i == randomNumber)
24
Console.WriteLine(letter);
25
i++;
26
}
27
}
28
}
Example output:
xxxxxxxxxx
1
B
In this example, we convert letters
HashSet into an array and then access the random element from it.
xxxxxxxxxx
1
using System;
2
using System.Linq;
3
using System.Collections.Generic;
4
5
public class Program
6
{
7
public static void Main()
8
{
9
HashSet<string> letters = new HashSet<string>();
10
11
letters.Add("A");
12
letters.Add("B");
13
letters.Add("C");
14
letters.Add("D");
15
letters.Add("E");
16
17
Random random = new Random();
18
string[] asArray = letters.ToArray();
19
string randomLine = asArray[random.Next(asArray.Length)];
20
21
Console.WriteLine(randomLine);
22
}
23
}
Example output:
xxxxxxxxxx
1
A