Table of Contents

Class ConcurrentSet<T>

Namespace
NanoByte.Common.Collections
Assembly
NanoByte.Common.dll

Represents a thread-safe set of values.

public class ConcurrentSet<T> where T : notnull

Type Parameters

T

The type of the values in the set.

Inheritance
object
ConcurrentSet<T>
Extension Methods

Remarks

This class is thread-safe.

Constructors

ConcurrentSet()

Creates a new concurrent set.

public ConcurrentSet()

ConcurrentSet(IEnumerable<T>)

Creates a new concurrent set.

public ConcurrentSet(IEnumerable<T> collection)

Parameters

collection IEnumerable<T>

Elements to be copied to the new set.

ConcurrentSet(IEnumerable<T>, IEqualityComparer<T>)

Creates a new concurrent set.

public ConcurrentSet(IEnumerable<T> collection, IEqualityComparer<T> comparer)

Parameters

collection IEnumerable<T>

Elements to be copied to the new set.

comparer IEqualityComparer<T>

The System.Collections.Generic.IEqualityComparer<T> implementation to use when comparing elements.

ConcurrentSet(IEqualityComparer<T>)

Creates a new concurrent set.

public ConcurrentSet(IEqualityComparer<T> comparer)

Parameters

comparer IEqualityComparer<T>

The System.Collections.Generic.IEqualityComparer<T> implementation to use when comparing elements.

ConcurrentSet(int, IEnumerable<T>, IEqualityComparer<T>)

Creates a new concurrent set.

public ConcurrentSet(int concurrencyLevel, IEnumerable<T> collection, IEqualityComparer<T> comparer)

Parameters

concurrencyLevel int

The estimated number of threads that will update the set concurrently

collection IEnumerable<T>

Elements to be copied to the new set.

comparer IEqualityComparer<T>

The System.Collections.Generic.IEqualityComparer<T> implementation to use when comparing values.

ConcurrentSet(int, int)

Creates a new concurrent set.

public ConcurrentSet(int concurrencyLevel, int capacity)

Parameters

concurrencyLevel int

The estimated number of threads that will update the set concurrently

capacity int

The initial number of elements that the set can contain.

Properties

Count

Gets the number of elements contained in the System.Collections.Generic.ICollection<T>.

public int Count { get; }

Property Value

int

The number of elements contained in the System.Collections.Generic.ICollection<T>.

IsReadOnly

Gets a value indicating whether the System.Collections.Generic.ICollection<T> is read-only.

public bool IsReadOnly { get; }

Property Value

bool

true if the System.Collections.Generic.ICollection<T> is read-only; otherwise, false.

Methods

Add(T)

Adds an item to the System.Collections.Generic.ICollection<T>.

public void Add(T item)

Parameters

item T

The object to add to the System.Collections.Generic.ICollection<T>.

Exceptions

NotSupportedException

The System.Collections.Generic.ICollection<T> is read-only.

Clear()

Removes all items from the System.Collections.Generic.ICollection<T>.

public void Clear()

Exceptions

NotSupportedException

The System.Collections.Generic.ICollection<T> is read-only.

Contains(T)

Determines whether the System.Collections.Generic.ICollection<T> contains a specific value.

public bool Contains(T item)

Parameters

item T

The object to locate in the System.Collections.Generic.ICollection<T>.

Returns

bool

true if item is found in the System.Collections.Generic.ICollection<T>; otherwise, false.

CopyTo(T[], int)

Copies the elements of the System.Collections.Generic.ICollection<T> to an System.Array, starting at a particular System.Array index.

public void CopyTo(T[] array, int arrayIndex)

Parameters

array T[]

The one-dimensional System.Array that is the destination of the elements copied from System.Collections.Generic.ICollection<T>. The System.Array must have zero-based indexing.

arrayIndex int

The zero-based index in array at which copying begins.

Exceptions

ArgumentNullException

array is null.

ArgumentOutOfRangeException

arrayIndex is less than 0.

ArgumentException

The number of elements in the source System.Collections.Generic.ICollection<T> is greater than the available space from arrayIndex to the end of the destination array.

GetEnumerator()

Returns an enumerator that iterates through a collection.

[MustDisposeResource]
public IEnumerator GetEnumerator()

Returns

IEnumerator

An System.Collections.IEnumerator object that can be used to iterate through the collection.

Remove(T)

Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection<T>.

public bool Remove(T item)

Parameters

item T

The object to remove from the System.Collections.Generic.ICollection<T>.

Returns

bool

true if item was successfully removed from the System.Collections.Generic.ICollection<T>; otherwise, false. This method also returns false if item is not found in the original System.Collections.Generic.ICollection<T>.

Exceptions

NotSupportedException

The System.Collections.Generic.ICollection<T> is read-only.