SynchronizedList`1
Wisej.Core.SynchronizedList
Namespace: Wisej.Core
Assembly: Wisej.Framework (3.0.0.0)
Provides a thread-safe collection that contains objects of a type specified by the generic parameter as elements.
C#
VB.NET
1
public class SynchronizedList<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IList, ICollection
Copied!
1
Public Class SynchronizedList(Of T)
2
Inherits IList(Of T)
3
Implements ICollection(Of T), IEnumerable(Of T), IEnumerable, IList, ICollection
Copied!

Constructors

SynchronizedList(capacity, collection, syncLock)

Initializes a new instance of the SynchronizedList class that contains elements copied from the specified collection and has sufficient capacity to accommodate the number of elements copied and uses the specified syncLock object to synchronize its internal operations.
Name
Type
Description
capacity
Int32
The optional number of element that the list can initially store.
collection
The optional collection whose elements are copied to the new list.
syncLock
Object
The optional lock reference.

Properties

Count

Int32: Gets the number of elements contained in the thread-safe collection.

Item(index)

T: Gets an element from the thread-safe collection with a specified index.
Throws:

SyncRoot

Object: Gets the object used to synchronize access to the thread-safe collection.

Methods

Add(item)

Adds an item to the thread-safe collection.
Parameter
Type
Description
item
T
The element to be added to the collection.

AddRange(collection)

Adds the elements of the specified collection to the end of the List.
Parameter
Type
Description
collection
The collection whose elements should be added to the end of the List. The collection itself cannot be null, but it can contain elements that are null, for reference types.
Throws:

BinarySearch(item)

Searches the entire sorted List for an element using the default comparer and returns the zero-based index of the element.
Parameter
Type
Description
item
T
The object to locate. The value can be null for reference types.
Returns: Int32. The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of Count.
Throws:

BinarySearch(item, comparer)

Searches the entire sorted List for an element using the specified comparer and returns the zero-based index of the element.
Parameter
Type
Description
item
T
The object to locate. The value can be null for reference types.
comparer
The IComparer implementation to use when comparing elements; or null to use the default comparer Default.
Returns: Int32. The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of Count.
Throws:

Clear()

Removes all items from the collection.

Contains(item)

Determines whether the collection contains an element with a specific value.
Parameter
Type
Description
item
T
The object to locate in the collection.
Returns: Boolean. true if the element value is found in the collection; otherwise false.

CopyTo(array, index)

Copies the elements of the collection to a specified array, starting at a particular index.
Parameter
Type
Description
array
T[]
The destination Array for the elements copied from the collection.
index
Int32
The zero-based index in the array at which copying begins.

Find(match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List.
Parameter
Type
Description
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: T. The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value.
Throws:

Find(startIndex, match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List.
Parameter
Type
Description
startIndex
Int32
The zero-based starting index of the search.
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: T. The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value.
Throws:

FindAll(match)

Retrieves all the elements that match the conditions defined by the specified predicate.
Parameter
Type
Description
match
The Predicate delegate that defines the conditions of the elements to search for.
Returns: List<T>. A List containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty List.
Throws:

FindIndex(match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire List.
Parameter
Type
Description
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: Int32. The zero-based index of the first occurrence of an element that matches the conditions defined by match , if found; otherwise, –1.
Throws:

FindIndex(startIndex, match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List that extends from the specified index to the last element.
Parameter
Type
Description
startIndex
Int32
The zero-based starting index of the search.
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: Int32. The zero-based index of the first occurrence of an element that matches the conditions defined by match , if found; otherwise, –1.
Throws:

FindIndex(startIndex, count, match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List that starts at the specified index and contains the specified number of elements.
Parameter
Type
Description
startIndex
Int32
The zero-based starting index of the search.
count
Int32
The number of elements in the section to search.
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: Int32. The zero-based index of the first occurrence of an element that matches the conditions defined by match , if found; otherwise, –1.
Throws:

FindLast(match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire List.
Parameter
Type
Description
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: T. The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value.
Throws:

FindLast(startIndex, match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire List.
Parameter
Type
Description
startIndex
Int32
The zero-based starting index of the search.
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: T. The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value.
Throws:

FindLastIndex(match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire List.
Parameter
Type
Description
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: Int32. The zero-based index of the last occurrence of an element that matches the conditions defined by match , if found; otherwise, –1.
Throws:

FindLastIndex(startIndex, match)

Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the List that extends from the specified index to the last element.
Parameter
Type
Description
startIndex
Int32
The zero-based starting index of the search.
match
The Predicate delegate that defines the conditions of the element to search for.
Returns: Int32. The zero-based index of the last occurrence of an element that matches the conditions defined by match , if found; otherwise, –1.
Throws:

ForEach(action)

Performs the specified action on each element of the List.
Parameter
Type
Description
action
Action<T>
The Action delegate to perform on each element of the List.
Throws:

GetEnumerator()

Returns an enumerator that iterates through the synchronized collection.
Returns: IEnumerator<T>. An IEnumerator for objects of the type stored in the collection.

IndexOf(item)

Returns the index of the first occurrence of a value in the collection.
Parameter
Type
Description
item
T
Removes all items from the collection.
Returns: Int32. The zero-based index of the first occurrence of the value in the collection.

Insert(index, item)

Inserts an item into the collection at a specified index.
Parameter
Type
Description
index
Int32
The zero-based index of the element to be retrieved from the collection.
item
T
The object to be inserted into the collection as an element.
Throws:

InsertRange(index, collection)

Inserts the elements of a collection into the List at the specified index.
Parameter
Type
Description
index
Int32
The zero-based index at which the new elements should be inserted.
collection
The collection whose elements should be inserted into the List. The collection itself cannot be null, but it can contain elements that are null, for reference types.
Throws:

Remove(item)

Removes the first occurrence of a specified item from the collection.
Parameter
Type
Description
item
T
The object to remove from the collection.
Returns: Boolean. true if item was successfully removed from the collection; otherwise, false.

RemoveAll(match)

Removes all the elements that match the conditions defined by the specified predicate.
Parameter
Type
Description
match
The Predicate delegate that defines the conditions of the elements to remove.
Returns: Int32. The number of elements removed from the List .
Throws:

RemoveAt(index)

Removes an item at a specified index from the collection.
Parameter
Type
Description
index
Int32
The zero-based index of the element to be retrieved from the collection.
Throws:

Sort()

Sorts the elements in the entire List using the default comparer.
Throws:

Sort(comparer)

Sorts the elements in the entire List using the specified comparer.
Parameter
Type
Description
comparer
The IComparer implementation to use when comparing elements, or null to use the default comparer Default.
Throws:
  • InvalidOperationException comparer is null, and the default comparer Default cannot find implementation of the IComparable generic interface or the IComparable interface for the type of the collection elements.* ArgumentException The implementation of comparer caused an error during the sort. For example, comparer might not return 0 when comparing an item with itself.

Sort(comparison)

Sorts the elements in the entire List using the specified Comparison.
Parameter
Type
Description
comparison
The Comparison to use when comparing elements.
Throws:
  • ArgumentNullException comparison is null.* ArgumentException The implementation of comparison caused an error during the sort. For example, comparison might not return 0 when comparing an item with itself.

Sort(comparer, swapCallback)

Sorts the elements in the entire List using the specified comparer and a related IList to sort in sync with this collection.
Parameter
Type
Description
comparer
The IComparer implementation to use when comparing elements, or null to use the default comparer Default.
swapCallback
An optional callback method, invoked on every swap. If the callback returns true to indicate that it handled the swap, the default swap is not performed.
Throws:
  • InvalidOperationException comparer is null, and the default comparer Default cannot find implementation of the IComparable generic interface or the IComparable interface for the type of the collection elements.* ArgumentException The implementation of comparer caused an error during the sort. For example, comparer might not return 0 when comparing an item with itself.

Sum(selector)

Computes the sum of the sequence of System.Int32 values that are obtained by invoking a transform function on each element of the list.
Parameter
Type
Description
selector
A transform function to apply to each element.
Returns: Int32. The sum of the returned values.
Throws:

Sum(selector)

Computes the sum of the sequence of System.Int64 values that are obtained by invoking a transform function on each element of the list.
Parameter
Type
Description
selector
A transform function to apply to each element.
Returns: Int64. The sum of the returned values.
Throws:

Sum(selector)

Computes the sum of the sequence of System.Single values that are obtained by invoking a transform function on each element of the list.
Parameter
Type
Description
selector
A transform function to apply to each element.
Returns: Single. The sum of the returned values.
Throws:

Sum(selector)

Computes the sum of the sequence of System.Double values that are obtained by invoking a transform function on each element of the list.
Parameter
Type
Description
selector
A transform function to apply to each element.
Returns: Double. The sum of the returned values.
Throws:

Sum(selector)

Computes the sum of the sequence of System.Decimal values that are obtained by invoking a transform function on each element of the list.
Parameter
Type
Description
selector
A transform function to apply to each element.
Returns: Decimal. The sum of the returned values.
Throws:

ToArray()

Copies the elements of the List to a new array.
Returns: T[]. An array containing copies of the elements of the List.

TrimExcess()

Sets the capacity to the actual number of elements in the List, if that number is less than a threshold value.