SynchronizedList<T>
Wisej.Core.SynchronizedList<T>
Last updated
Wisej.Core.SynchronizedList<T>
Last updated
Namespace: Wisej.Core
Assembly: Wisej.Framework (3.1.0.0)
Provides a thread-safe collection that contains objects of a type specified by the generic parameter as elements.
Name | Description |
---|---|
T | The type of object contained as items in the thread-safe collection. |
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 | The optional number of element that the list can initially store. | |
collection | The optional collection whose elements are copied to the new list. | |
syncLock | The optional lock reference. |
Int32: Gets the number of elements contained in the thread-safe collection.
T: Gets an element from the thread-safe collection with a specified index.
Throws:
ArgumentOutOfRangeException The index specified is less than zero or greater than the number of items in the collection.
Object: Gets the object used to synchronize access to the thread-safe collection.
Adds an item to the thread-safe collection.
Parameter | Type | Description |
---|---|---|
item | The element to be added to the 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:
ArgumentNullException collection is null.
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 | 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:
InvalidOperationException The default comparer Default cannot find an implementation of the IComparable generic interface or the IComparable interface for the type of the collection elements.
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 | The object to locate. The value can be null for reference types. | |
comparer |
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:
InvalidOperationException comparer is null, and the default comparer Default cannot find an implementation of the IComparable generic interface or the IComparable interface for the type of the collection elements.
Removes all items from the collection.
Determines whether the collection contains an element with a specific value.
Parameter | Type | Description |
---|---|---|
item | The object to locate in the collection. |
Returns: Boolean. true if the element value is found in the collection; otherwise false.
Copies the elements of the collection to a specified array, starting at a particular index.
Parameter | Type | Description |
---|---|---|
array | The destination Array for the elements copied from the collection. | |
index | The zero-based index in the array at which copying begins. |
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:
ArgumentNullException match is null.
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 | 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:
ArgumentNullException match is null.
ArgumentOutOfRangeException startIndex is outside the range of valid indexes for the List.
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:
ArgumentNullException match is null.
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:
ArgumentNullException match is null.
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 | 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:
ArgumentNullException match is null.
ArgumentOutOfRangeException startIndex is outside the range of valid indexes for the List.
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 | The zero-based starting index of the search. | |
count | 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:
ArgumentNullException match is null.
ArgumentOutOfRangeException startIndex is outside the range of valid indexes for the List; or count is less than 0; or startIndex and count do not specify a valid section in the List.
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:
ArgumentNullException match is null.
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 | 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:
ArgumentNullException match is null.
ArgumentOutOfRangeException startIndex is outside the range of valid indexes for the List.
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:
ArgumentNullException match is null.
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 | 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:
ArgumentNullException match is null.
ArgumentOutOfRangeException startIndex is outside the range of valid indexes for the List.
Performs the specified action on each element of the List.
Throws:
ArgumentNullException action is null.
Returns an enumerator that iterates through the synchronized collection.
Returns: IEnumerator<T>. An IEnumerator for objects of the type stored in the collection.
Returns the index of the first occurrence of a value in the collection.
Parameter | Type | Description |
---|---|---|
item | Removes all items from the collection. |
Returns: Int32. The zero-based index of the first occurrence of the value in the collection.
Inserts an item into the collection at a specified index.
Parameter | Type | Description |
---|---|---|
index | The zero-based index of the element to be retrieved from the collection. | |
item | The object to be inserted into the collection as an element. |
Throws:
ArgumentOutOfRangeException The index specified is less than zero or greater than the number of items in the collection.
Inserts the elements of a collection into the List at the specified index.
Parameter | Type | Description |
---|---|---|
index | 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:
ArgumentNullException collection is null.
ArgumentOutOfRangeException index is less than 0; or index is greater than Count.
Removes the first occurrence of a specified item from the collection.
Parameter | Type | Description |
---|---|---|
item | The object to remove from the collection. |
Returns: Boolean. true if item was successfully removed from the collection; otherwise, false.
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:
ArgumentNullException match is null.
Removes an item at a specified index from the collection.
Parameter | Type | Description |
---|---|---|
index | The zero-based index of the element to be retrieved from the collection. |
Throws:
ArgumentOutOfRangeException The index specified is less than zero or greater than the number of items in the collection.
Sorts the elements in the entire List using the default comparer.
Throws:
InvalidOperationException The default comparer Default cannot find an implementation of the IComparable generic interface or the IComparable interface for the type of the collection elements.
Sorts the elements in the entire List using the specified comparer.
Parameter | Type | Description |
---|---|---|
comparer |
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.
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.
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 | ||
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.
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:
ArgumentNullException selector is null.
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:
ArgumentNullException selector is null.
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:
ArgumentNullException selector is null.
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:
ArgumentNullException selector is null.
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:
ArgumentNullException selector is null.
Copies the elements of the List to a new array.
Returns: T[]. An array containing copies of the elements of the List.
Sets the capacity to the actual number of elements in the List, if that number is less than a threshold value.