A ConcurrentHashSet implementation based on .NET's ConcurrentDictionary
This implementation supports basic operations per item without HashSet
's set operations as they make less sense in concurrent scenarios IMO:
var concurrentHashSet =
new ConcurrentHashSet<string>(
new[]
{
"hamster",
"HAMster",
"bar",
},
StringComparer.OrdinalIgnoreCase);
concurrentHashSet.TryRemove("foo");
if (concurrentHashSet.Contains("BAR"))
{
Console.WriteLine(concurrentHashSet.Count);
}