A HashSet is a Collection that can also hold multiple values. And a HashSet is unordered and doesn't allow duplicate values.
A HashSet is created in the same way a List is created.
var x = new HashSet<string>();
The above HashSet is used to hold values of string type.
using System.Collections.Generic; public class MyApplication { public static void Main(string[] args) { var x = new HashSet<string>(); x.Add("Tom"); x.Add("John"); x.Add("C#"); foreach (var data in x) { System.Console.WriteLine(data); } } }
So, in the above code, we have declared an empty HashSet that is used to hold values of string data type.
var x = new HashSet<string>();
Then we have used the Add() method to add the values to the HashSet.
x.Add("Tom"); x.Add("John"); x.Add("C#");
And finally, used the foreach loop to print the contents of the HashSet.
foreach (var data in x) { System.Console.WriteLine(data); }
using System.Collections.Generic; public class MyApplication { public static void Main(string[] args) { var x = new HashSet<string>(); x.Add("Tom"); x.Add("John"); x.Add("C#"); x.Add("John"); foreach (var data in x) { System.Console.WriteLine(data); } } }
So, in the above code we have created a HashSet using the values, "Tom", "John", "C#" and "John".
var x = new HashSet<string>();
Now, if we see the output,
You can see only three values are printed.
This is because in the above HashSet, the name John is present twice.
And since a HashSet doesn't accept duplicates, the name John is not inserted to the HashSet twice.
And we see the above output with John present only once.