System.Collections.Generic Namespace
.NET Framework 4
The System.Collections.Generic namespace contains interfaces and classes that define generic collections, which allow users to create strongly typed collections that provide better type safety and performance than non-generic strongly typed collections.
| Class | Description | |
|---|---|---|
|
Comparer(Of T) | Provides a base class for implementations of the IComparer(Of T) generic interface. |
|
Dictionary(Of TKey, TValue) | Represents a collection of keys and values. |
|
Dictionary(Of TKey, TValue).KeyCollection | Represents the collection of keys in a Dictionary(Of TKey, TValue). This class cannot be inherited. |
|
Dictionary(Of TKey, TValue).ValueCollection | Represents the collection of values in a Dictionary(Of TKey, TValue). This class cannot be inherited. |
|
EqualityComparer(Of T) | Provides a base class for implementations of the IEqualityComparer(Of T) generic interface. |
|
HashSet(Of T) | Represents a set of values. |
|
KeyedByTypeCollection(Of TItem) | Provides a collection whose items are types that serve as keys. |
|
KeyNotFoundException | The exception that is thrown when the key specified for accessing an element in a collection does not match any key in the collection. |
|
LinkedList(Of T) | Represents a doubly linked list. |
|
LinkedListNode(Of T) | Represents a node in a LinkedList(Of T). This class cannot be inherited. |
|
List(Of T) | Represents a strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists. |
|
Queue(Of T) | Represents a first-in, first-out collection of objects. |
|
SortedDictionary(Of TKey, TValue) | Represents a collection of key/value pairs that are sorted on the key. |
|
SortedDictionary(Of TKey, TValue).KeyCollection | Represents the collection of keys in a SortedDictionary(Of TKey, TValue). This class cannot be inherited. |
|
SortedDictionary(Of TKey, TValue).ValueCollection | Represents the collection of values in a SortedDictionary(Of TKey, TValue). This class cannot be inherited |
|
SortedList(Of TKey, TValue) | Represents a collection of key/value pairs that are sorted by key based on the associated IComparer(Of T) implementation. |
|
SortedSet(Of T) | Represents a collection of objects that is maintained in sorted order. |
|
Stack(Of T) | Represents a variable size last-in-first-out (LIFO) collection of instances of the same arbitrary type. |
|
SynchronizedCollection(Of T) | Provides a thread-safe collection that contains objects of a type specified by the generic parameter as elements. |
|
SynchronizedKeyedCollection(Of K, T) | Provides a thread-safe collection that contains objects of a type specified by a generic parameter and that are grouped by keys. |
|
SynchronizedReadOnlyCollection(Of T) | Provides a thread-safe, read-only collection that contains objects of a type specified by the generic parameter as elements. |
| Interface | Description | |
|---|---|---|
|
ICollection(Of T) | Defines methods to manipulate generic collections. |
|
IComparer(Of T) | Defines a method that a type implements to compare two objects. |
|
IDictionary(Of TKey, TValue) | Represents a generic collection of key/value pairs. |
|
IEnumerable(Of T) | Exposes the enumerator, which supports a simple iteration over a collection of a specified type. |
|
IEnumerator(Of T) | Supports a simple iteration over a generic collection. |
|
IEqualityComparer(Of T) | Defines methods to support the comparison of objects for equality. |
|
IList(Of T) | Represents a collection of objects that can be individually accessed by index. |
|
ISet(Of T) | Provides the base interface for the abstraction of sets. |
Need performance consideration and comparision of feature list
Performance considerations and perhaps a comparision of feature list between different collections will help highly to make better apps. Why no C# syntax ? Need a little more explanation too.
- 2/7/2012
- SivaJi
@Chomilino - Here's a tree class for ya
public class Node<T>
public List<Node<T>> Children = new List<Node<T>>();
public T Value;
end class
Use it like this:
Node<string> root = new Node<string>() { Value = "I am the root node!" };
Node<string> child = new Node<string>() { Value = "I am a child of the root node!" };
root.Children.Add(child);
Node<string> sibling = new Node<string>() { Value = "I am a sibling of child!" };
root.Children.Add(sibling);
Node<string> grandchild = new Node<string>() { Value = "I am a grandchild of the root node!"};
child.Children.Add(grandchild);
public List<Node<T>> Children = new List<Node<T>>();
public T Value;
end class
Use it like this:
Node<string> root = new Node<string>() { Value = "I am the root node!" };
Node<string> child = new Node<string>() { Value = "I am a child of the root node!" };
root.Children.Add(child);
Node<string> sibling = new Node<string>() { Value = "I am a sibling of child!" };
root.Children.Add(sibling);
Node<string> grandchild = new Node<string>() { Value = "I am a grandchild of the root node!"};
child.Children.Add(grandchild);
- 11/14/2011
- hoodaticus
Yea performance indicators would be helpful for these collections
But I guess, they are more or less same as the structure name conveys (List, Hashtable etc. ) in theory. But definitely I have come across significant variations due to the implementation differences. So the performance indicators (O notation) should be made available for various operations.
- 5/8/2011
- MunishGoyal[MSFT]
