ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> Class

Definición

Representa una colección segura para subprocesos de los pares clave-valor a los que pueden obtener acceso varios subprocesos a la vez.Represents a thread-safe collection of key/value pairs that can be accessed by multiple threads concurrently.

generic <typename TKey, typename TValue>
public ref class ConcurrentDictionary : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IDictionary<TKey, TValue>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyCollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyDictionary<TKey, TValue>, System::Collections::IDictionary
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class ConcurrentDictionary<TKey,TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>, System.Collections.IDictionary
type ConcurrentDictionary<'Key, 'Value> = class
    interface IDictionary<'Key, 'Value>
    interface IDictionary
    interface IReadOnlyDictionary<'Key, 'Value>
    interface ICollection<KeyValuePair<'Key, 'Value>>
    interface seq<KeyValuePair<'Key, 'Value>>
    interface IEnumerable
    interface ICollection
    interface IReadOnlyCollection<KeyValuePair<'Key, 'Value>>
Public Class ConcurrentDictionary(Of TKey, TValue)
Implements ICollection(Of KeyValuePair(Of TKey, TValue)), IDictionary, IDictionary(Of TKey, TValue), IEnumerable(Of KeyValuePair(Of TKey, TValue)), IReadOnlyCollection(Of KeyValuePair(Of TKey, TValue)), IReadOnlyDictionary(Of TKey, TValue)

Parámetros de tipo

TKey

Tipo de las claves del diccionario.The type of the keys in the dictionary.

TValue

Tipo de los valores del diccionario.The type of the values in the dictionary.

Herencia
ConcurrentDictionary<TKey,TValue>ConcurrentDictionary<TKey,TValue>ConcurrentDictionary<TKey,TValue>ConcurrentDictionary<TKey,TValue>
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo construir ConcurrentDictionary<TKey,TValue> un objeto.The following example shows how to construct a ConcurrentDictionary<TKey,TValue> object.


class CD_Ctor
{
        // Demonstrates:
        //      ConcurrentDictionary<TKey, TValue> ctor(concurrencyLevel, initialCapacity)
        //      ConcurrentDictionary<TKey, TValue>[TKey]
        static void Main()
        {
            // We know how many items we want to insert into the ConcurrentDictionary.
            // So set the initial capacity to some prime number above that, to ensure that
            // the ConcurrentDictionary does not need to be resized while initializing it.
            int NUMITEMS = 64;
            int initialCapacity = 101;

            // The higher the concurrencyLevel, the higher the theoretical number of operations
            // that could be performed concurrently on the ConcurrentDictionary.  However, global
            // operations like resizing the dictionary take longer as the concurrencyLevel rises. 
            // For the purposes of this example, we'll compromise at numCores * 2.
            int numProcs = Environment.ProcessorCount;
            int concurrencyLevel = numProcs * 2;

            // Construct the dictionary with the desired concurrencyLevel and initialCapacity
            ConcurrentDictionary<int, int> cd = new ConcurrentDictionary<int, int>(concurrencyLevel, initialCapacity);

            // Initialize the dictionary
            for (int i = 0; i < NUMITEMS; i++) cd[i] = i * i;

            Console.WriteLine("The square of 23 is {0} (should be {1})", cd[23], 23 * 23);
        }
}
Imports System.Collections.Concurrent
Imports System.Threading.Tasks

Class CD_Ctor
    ' Demonstrates:
    ' ConcurrentDictionary<TKey, TValue> ctor(concurrencyLevel, initialCapacity)
    ' ConcurrentDictionary<TKey, TValue>[TKey]
    Shared Sub Main()
        ' We know how many items we want to insert into the ConcurrentDictionary.
        ' So set the initial capacity to some prime number above that, to ensure that
        ' the ConcurrentDictionary does not need to be resized while initializing it.
        Dim NUMITEMS As Integer = 64
        Dim initialCapacity As Integer = 101

        ' The higher the concurrencyLevel, the higher the theoretical number of operations
        ' that could be performed concurrently on the ConcurrentDictionary. However, global
        ' operations like resizing the dictionary take longer as the concurrencyLevel rises. 
        ' For the purposes of this example, we'll compromise at numCores * 2.
        Dim numProcs As Integer = Environment.ProcessorCount
        Dim concurrencyLevel As Integer = numProcs * 2

        ' Construct the dictionary with the desired concurrencyLevel and initialCapacity
        Dim cd As New ConcurrentDictionary(Of Integer, Integer)(concurrencyLevel, initialCapacity)

        ' Initialize the dictionary
        For i As Integer = 0 To NUMITEMS - 1
            cd(i) = i * i
        Next

        Console.WriteLine("The square of 23 is {0} (should be {1})", cd(23), 23 * 23)
    End Sub
End Class

Comentarios

En el caso ConcurrentDictionary<TKey,TValue> de objetos muy grandes, puede aumentar el tamaño máximo de la matriz a 2 gigabytes (GB) en un sistema de 64 <gcAllowVeryLargeObjects> bits estableciendo el true elemento de configuración en en el entorno en tiempo de ejecución.For very large ConcurrentDictionary<TKey,TValue> objects, you can increase the maximum array size to 2 gigabytes (GB) on a 64-bit system by setting the <gcAllowVeryLargeObjects> configuration element to true in the run-time environment.

Nota

ConcurrentDictionary<TKey,TValue>implementa las IReadOnlyCollection<T> interfaces e IReadOnlyDictionary<TKey,TValue> a partir .NET Framework 4.6.NET Framework 4.6de; en versiones anteriores de la .NET Framework, la ConcurrentDictionary<TKey,TValue> clase no implementaba estas interfaces.ConcurrentDictionary<TKey,TValue> implements the IReadOnlyCollection<T> and IReadOnlyDictionary<TKey,TValue> interfaces starting with the .NET Framework 4.6.NET Framework 4.6; in previous versions of the .NET Framework, the ConcurrentDictionary<TKey,TValue> class did not implement these interfaces.

Al igual System.Collections.Generic.Dictionary<TKey,TValue> que la ConcurrentDictionary<TKey,TValue> clase, implementa IDictionary<TKey,TValue> la interfaz.Like the System.Collections.Generic.Dictionary<TKey,TValue> class, ConcurrentDictionary<TKey,TValue> implements the IDictionary<TKey,TValue> interface. Además, ConcurrentDictionary<TKey,TValue> proporciona varios métodos para agregar o actualizar pares clave-valor en el diccionario, como se describe en la tabla siguiente.In addition, ConcurrentDictionary<TKey,TValue> provides several methods for adding or updating key/value pairs in the dictionary, as described in the following table.

ParaTo do this Use este métodoUse this method Notas de usoUsage notes
Agregue una nueva clave al diccionario, si aún no existe en el diccionario.Add a new key to the dictionary, if it doesn't already exist in the dictionary TryAdd Este método agrega el par clave-valor especificado, si la clave no existe actualmente en el diccionario.This method adds the specified key/value pair, if the key doesn't currently exist in the dictionary. El método devuelve true o false , dependiendo de si se agregó el nuevo par.The method returns true or false depending on whether the new pair was added.
Actualice el valor de una clave existente en el Diccionario si esa clave tiene un valor específico.Update the value for an existing key in the dictionary, if that key has a specific value TryUpdate Este método comprueba si la clave tiene un valor especificado y, si lo hace, actualiza la clave con un nuevo valor.This method checks whether the key has a specified value, and if it does, updates the key with a new value. Es similar al CompareExchange método, salvo que se usa para los elementos del diccionario.It's similar to the CompareExchange method, except that it's used for dictionary elements.
Almacenar un par clave-valor en el Diccionario de manera incondicional y sobrescribir el valor de una clave que ya existeStore a key/value pair in the dictionary unconditionally, and overwrite the value of a key that already exists Establecedor del indexador:dictionary[key] = newValueThe indexer's setter: dictionary[key] = newValue
Agregue un par clave-valor al diccionario o, si la clave ya existe, actualice el valor de la clave según el valor existente de la clave.Add a key/value pair to the dictionary, or if the key already exists, update the value for the key based on the key's existing value AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

o bien-or-

AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>)
AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)acepta la clave y dos delegados.AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) accepts the key and two delegates. Usa el primer delegado si la clave no existe en el Diccionario; acepta la clave y devuelve el valor que se debe agregar para la clave.It uses the first delegate if the key doesn't exist in the dictionary; it accepts the key and returns the value that should be added for the key. Usa el segundo delegado si la clave existe; acepta la clave y su valor actual, y devuelve el nuevo valor que se debe establecer para la clave.It uses the second delegate if the key does exist; it accepts the key and its current value, and it returns the new value that should be set for the key.

AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>)acepta la clave, un valor que se va a agregar y el delegado de actualización.AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) accepts the key, a value to add, and the update delegate. Este es el mismo que el de la sobrecarga anterior, con la salvedad de que no usa un delegado para agregar una clave.This is the same as the previous overload, except that it doesn't use a delegate to add a key.
Obtiene el valor de una clave en el diccionario, agregando el valor al diccionario y devolviendo si la clave no existe.Get the value for a key in the dictionary, adding the value to the dictionary and returning it if the key doesn't exist GetOrAdd(TKey, TValue)

O bien-or-

GetOrAdd(TKey, Func<TKey,TValue>)
Estas sobrecargas proporcionan una inicialización diferida para un par clave-valor en el diccionario, agregando el valor solo si no está allí.These overloads provide lazy initialization for a key/value pair in the dictionary, adding the value only if it's not there.

GetOrAdd(TKey, TValue)toma el valor que se va a agregar si la clave no existe.GetOrAdd(TKey, TValue) takes the value to be added if the key doesn't exist.

GetOrAdd(TKey, Func<TKey,TValue>)toma un delegado que generará el valor si la clave no existe.GetOrAdd(TKey, Func<TKey,TValue>) takes a delegate that will generate the value if the key doesn't exist.

Todas estas operaciones son atómicas y son seguras para subprocesos con respecto a todas las ConcurrentDictionary<TKey,TValue> demás operaciones en la clase.All these operations are atomic and are thread-safe with regards to all other operations on the ConcurrentDictionary<TKey,TValue> class. Las únicas excepciones son los métodos que aceptan un delegado, es decir, AddOrUpdate y GetOrAdd.The only exceptions are the methods that accept a delegate, that is, AddOrUpdate and GetOrAdd. En el caso de las modificaciones y las operaciones ConcurrentDictionary<TKey,TValue> de escritura en el diccionario, usa un bloqueo preciso para garantizar la seguridad para subprocesos.For modifications and write operations to the dictionary, ConcurrentDictionary<TKey,TValue> uses fine-grained locking to ensure thread safety. (Las operaciones de lectura en el diccionario se realizan sin bloqueos). Sin embargo, se llama a los delegados de estos métodos fuera de los bloqueos para evitar los problemas que pueden surgir al ejecutar código desconocido en un bloqueo.(Read operations on the dictionary are performed in a lock-free manner.) However, delegates for these methods are called outside the locks to avoid the problems that can arise from executing unknown code under a lock. Por lo tanto, el código ejecutado por estos delegados no está sujeto a la atomicidad de la operación.Therefore, the code executed by these delegates is not subject to the atomicity of the operation.

Constructores

ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>()

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que está vacía, tiene el nivel de simultaneidad predeterminado, tiene la capacidad inicial predeterminada y usa el comparador predeterminado para el tipo de clave.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que contiene elementos copiados de la interfaz IEnumerable<T> especificada, tiene el nivel de simultaneidad predeterminado, tiene la capacidad inicial predeterminada y usa el comparador predeterminado para el tipo de clave.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable<T>, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que contiene elementos copiados del IEnumerable especificado, tiene el nivel de simultaneidad predeterminado, tiene la capacidad inicial predeterminada y usa el IEqualityComparer<T> especificado.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable has the default concurrency level, has the default initial capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>)

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que está vacía, tiene el nivel de simultaneidad y la capacidad predeterminados y utiliza el IEqualityComparer<T> especificado.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level and capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que contiene los elementos copiados del IEnumerable especificado y utiliza el IEqualityComparer<T> especificado.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32)

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que está vacía, tiene el nivel de simultaneidad y la capacidad especificados, y usa el comparador predeterminado para el tipo de clave.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level and capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>)

Inicializa una nueva instancia de la clase ConcurrentDictionary<TKey,TValue> que está vacía, tiene el nivel de simultaneidad y la capacidad inicial especificados, y usa la interfaz IEqualityComparer<T> especificada.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level, has the specified initial capacity, and uses the specified IEqualityComparer<T>.

Propiedades

Count Count Count Count

Obtiene el número de pares clave-valor incluidos en ConcurrentDictionary<TKey,TValue>.Gets the number of key/value pairs contained in the ConcurrentDictionary<TKey,TValue>.

IsEmpty IsEmpty IsEmpty IsEmpty

Obtiene un valor que indica si la colección ConcurrentDictionary<TKey,TValue> está vacía.Gets a value that indicates whether the ConcurrentDictionary<TKey,TValue> is empty.

Item[TKey] Item[TKey] Item[TKey] Item[TKey]

Obtiene o establece el valor asociado a la clave especificada.Gets or sets the value associated with the specified key.

Keys Keys Keys Keys

Obtiene una colección que contiene las claves de la colección Dictionary<TKey,TValue>.Gets a collection containing the keys in the Dictionary<TKey,TValue>.

Values Values Values Values

Obtiene una colección que contiene los valores del objeto Dictionary<TKey,TValue>.Gets a collection that contains the values in the Dictionary<TKey,TValue>.

Métodos

AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

Utiliza las funciones especificadas para agregar un par clave-valor a ConcurrentDictionary<TKey,TValue> si la clave no existe o para actualizar un par clave-valor de ConcurrentDictionary<TKey,TValue> si la clave ya existe.Uses the specified functions to add a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist, or to update a key/value pair in the ConcurrentDictionary<TKey,TValue> if the key already exists.

AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>) AddOrUpdate(TKey, TValue, Func<TKey,TValue,TValue>)

Agrega un par clave-valor a ConcurrentDictionary<TKey,TValue> si la clave no existe o actualiza un par clave-valor de ConcurrentDictionary<TKey,TValue> utilizando la función especificada, si la clave ya existe.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist, or updates a key/value pair in the ConcurrentDictionary<TKey,TValue> by using the specified function if the key already exists.

AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg) AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg) AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg) AddOrUpdate<TArg>(TKey, Func<TKey,TArg,TValue>, Func<TKey,TValue,TArg,TValue>, TArg)

Utiliza las funciones especificadas y un argumento para agregar un par clave-valor a ConcurrentDictionary<TKey,TValue> si la clave no existe o para actualizar un par clave-valor de ConcurrentDictionary<TKey,TValue> si la clave ya existe.Uses the specified functions and argument to add a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist, or to update a key/value pair in the ConcurrentDictionary<TKey,TValue> if the key already exists.

Clear() Clear() Clear() Clear()

Quita todas las claves y valores de ConcurrentDictionary<TKey,TValue>.Removes all keys and values from the ConcurrentDictionary<TKey,TValue>.

ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey)

Determina si ConcurrentDictionary<TKey,TValue> contiene la clave especificada.Determines whether the ConcurrentDictionary<TKey,TValue> contains the specified key.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Devuelve un enumerador que recorre en iteración la colección ConcurrentDictionary<TKey,TValue>.Returns an enumerator that iterates through the ConcurrentDictionary<TKey,TValue>.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetOrAdd(TKey, Func<TKey,TValue>) GetOrAdd(TKey, Func<TKey,TValue>) GetOrAdd(TKey, Func<TKey,TValue>) GetOrAdd(TKey, Func<TKey,TValue>)

Agrega un par clave-valor a ConcurrentDictionary<TKey,TValue> utilizando la función especificada, si la clave no existe todavía.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> by using the specified function if the key does not already exist. Devuelve el nuevo valor, o el valor existente si existe la clave.Returns the new value, or the existing value if the key exists.

GetOrAdd(TKey, TValue) GetOrAdd(TKey, TValue) GetOrAdd(TKey, TValue) GetOrAdd(TKey, TValue)

Agrega un par clave-valor a ConcurrentDictionary<TKey,TValue> si la clave no existe.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> if the key does not already exist. Devuelve el nuevo valor, o el valor existente si existe la clave.Returns the new value, or the existing value if the key exists.

GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg)

Agrega un par clave-valor a ConcurrentDictionary<TKey,TValue> mediante la función especificada y un argumento si la clave aún no existe, o devuelve el valor existente si la clave ya existe.Adds a key/value pair to the ConcurrentDictionary<TKey,TValue> by using the specified function and an argument if the key does not already exist, or returns the existing value if the key exists.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToArray() ToArray() ToArray() ToArray()

Copia en una nueva matriz los pares valor-clave almacenados en ConcurrentDictionary<TKey,TValue>.Copies the key and value pairs stored in the ConcurrentDictionary<TKey,TValue> to a new array.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
TryAdd(TKey, TValue) TryAdd(TKey, TValue) TryAdd(TKey, TValue) TryAdd(TKey, TValue)

Intenta agregar la clave y el valor especificados a la colección ConcurrentDictionary<TKey,TValue>.Attempts to add the specified key and value to the ConcurrentDictionary<TKey,TValue>.

TryGetValue(TKey, TValue) TryGetValue(TKey, TValue) TryGetValue(TKey, TValue) TryGetValue(TKey, TValue)

Intenta obtener el valor asociado a la clave especificada de ConcurrentDictionary<TKey,TValue>.Attempts to get the value associated with the specified key from the ConcurrentDictionary<TKey,TValue>.

TryRemove(TKey, TValue) TryRemove(TKey, TValue) TryRemove(TKey, TValue) TryRemove(TKey, TValue)

Intenta quitar y devolver el valor que tiene la clave especificada de ConcurrentDictionary<TKey,TValue>.Attempts to remove and return the value that has the specified key from the ConcurrentDictionary<TKey,TValue>.

TryUpdate(TKey, TValue, TValue) TryUpdate(TKey, TValue, TValue) TryUpdate(TKey, TValue, TValue) TryUpdate(TKey, TValue, TValue)

Actualiza el valor asociado a key a newValue si el valor existente con key es igual a comparisonValue.Updates the value associated with key to newValue if the existing value with key is equal to comparisonValue.

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Copia los elementos de la interfaz ICollection en una matriz, comenzando en el índice especificado de la matriz.Copies the elements of the ICollection to an array, starting at the specified array index.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a ICollection está sincronizado con SyncRoot.Gets a value that indicates whether access to the ICollection is synchronized with the SyncRoot.

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a ICollection.Gets an object that can be used to synchronize access to the ICollection. Esta propiedad no es compatible.This property is not supported.

ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>)

Agrega un elemento a la colección.Adds an item to the collection.

ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>)

Obtiene un valor que indica si ICollection<T> contiene un elemento con la clave especificada.Gets whether the ICollection<T> contains an element with the specified key.

ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32) ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32) ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32) ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32)

Copia los elementos de la interfaz ICollection en una matriz, comenzando en el índice especificado de la matriz.Copies the elements of the ICollection to an array, starting at the specified array index.

ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly

Obtiene un valor que indica si ICollection es de solo lectura.Gets a value that indicates whether the ICollection is read-only.

ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>) ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>)

Quita el par clave-valor especificado de la colección.Removes the specified key/value pair from the collection.

IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object)

Agrega la clave y el valor especificados al diccionario.Adds the specified key and value to the dictionary.

IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object)

Obtiene un valor que indica si IDictionary<TKey,TValue> contiene un elemento con la clave especificada.Gets a value that indicates the IDictionary<TKey,TValue> contains an element with the specified key.

IDictionary.GetEnumerator() IDictionary.GetEnumerator() IDictionary.GetEnumerator() IDictionary.GetEnumerator()

Proporciona un objeto IDictionaryEnumerator para el objeto IDictionary<TKey,TValue>.Provides a IDictionaryEnumerator for the IDictionary<TKey,TValue>.

IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize

Obtiene un valor que indica si el objeto IDictionary<TKey,TValue> tiene un tamaño fijo.Gets a value that indicates whether the IDictionary<TKey,TValue> has a fixed size.

IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly

Obtiene un valor que indica si IDictionary<TKey,TValue> es de solo lectura.Gets a value that indicates whether the IDictionary<TKey,TValue> is read-only.

IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object]

Obtiene o establece el valor asociado a la clave especificada.Gets or sets the value associated with the specified key.

IDictionary.Keys IDictionary.Keys IDictionary.Keys IDictionary.Keys

Obtiene un elemento ICollection que contiene las claves de IDictionary<TKey,TValue>.Gets an ICollection that contains the keys of the IDictionary<TKey,TValue>.

IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object)

Quita el elemento con la clave especificada de IDictionary.Removes the element with the specified key from the IDictionary.

IDictionary.Values IDictionary.Values IDictionary.Values IDictionary.Values

Obtiene un ICollection que contiene los valores de IDictionary.Gets an ICollection that contains the values in the IDictionary.

IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue)

Agrega la clave y el valor especificados a IDictionary<TKey,TValue>.Adds the specified key and value to the IDictionary<TKey,TValue>.

IDictionary<TKey,TValue>.Remove(TKey) IDictionary<TKey,TValue>.Remove(TKey) IDictionary<TKey,TValue>.Remove(TKey) IDictionary<TKey,TValue>.Remove(TKey)

Quita el elemento con la clave especificada de IDictionary<TKey,TValue>.Removes the element with the specified key from the IDictionary<TKey,TValue>.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Devuelve un enumerador que recorre en iteración la colección ConcurrentDictionary<TKey,TValue>.Returns an enumerator that iterates through the ConcurrentDictionary<TKey,TValue>.

IReadOnlyDictionary<TKey,TValue>.Keys IReadOnlyDictionary<TKey,TValue>.Keys IReadOnlyDictionary<TKey,TValue>.Keys IReadOnlyDictionary<TKey,TValue>.Keys

Obtiene una colección que contiene las claves de la colección Dictionary<TKey,TValue>.Gets a collection containing the keys in the Dictionary<TKey,TValue>.

IReadOnlyDictionary<TKey,TValue>.Values IReadOnlyDictionary<TKey,TValue>.Values IReadOnlyDictionary<TKey,TValue>.Values IReadOnlyDictionary<TKey,TValue>.Values

Obtiene una colección que contiene los valores del objeto Dictionary<TKey,TValue>.Gets a collection that contains the values in the Dictionary<TKey,TValue>.

Métodos de extensión

GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey)
GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue) GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue)
Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)
TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)
CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Devuelve un objeto DataTable que contiene copias de los objetos DataRow, dado un objeto IEnumerable<T> de entrada donde el parámetro T genérico es DataRow.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro T genérico es DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro T genérico es DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Devuelve una colección de elementos que contiene los antecesores de todos los nodos de la colección de origen.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Devuelve una colección de elementos filtrada que contiene los antecesores de todos los nodos de la colección de origen.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Devuelve una colección de los nodos descendientes de todos los documentos y elementos de la colección de origen.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Devuelve una colección de elementos que contiene los elementos descendientes de todos los elementos y documentos de la colección de origen.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Devuelve una colección filtrada de elementos que contiene los elementos descendientes de todos los elementos y documentos de la colección de origen.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Devuelve una colección de los elementos secundarios de todos los elementos y documentos de la colección de origen.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Devuelve una colección filtrada de los elementos secundarios de todos los elementos y documentos de la colección de origen.Returns a filtered collection of the child elements of every element and document in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Devuelve una colección de nodos que contiene todos los nodos de la colección de origen, clasificados por documento.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Devuelve una colección de los nodos secundarios de todos los documentos y elementos de la colección de origen.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Quita todos los nodos de la colección de origen de su nodo primario.Removes every node in the source collection from its parent node.

Se aplica a

Seguridad para subprocesos

Todos los miembros públicos y protegidos ConcurrentDictionary<TKey,TValue> de son seguros para subprocesos y se pueden usar simultáneamente desde varios subprocesos.All public and protected members of ConcurrentDictionary<TKey,TValue> are thread-safe and may be used concurrently from multiple threads. Sin embargo, no se garantiza que los miembros a los ConcurrentDictionary<TKey,TValue> que se tiene acceso a través de una de las interfaces que implementa, incluidos los métodos de extensión, sean seguros para subprocesos y es posible que el llamador tenga que sincronizarlos.However, members accessed through one of the interfaces the ConcurrentDictionary<TKey,TValue> implements, including extension methods, are not guaranteed to be thread safe and may need to be synchronized by the caller.

Consulte también: