System::Collections::Concurrent::ConcurrentDictionary clase
ConcurrentDictionary class
Implementación de diccionario seguro para subprocesos. Los objetos de esta clase solo deben asignarse usando la función System::MakeObject() . Nunca cree una instancia de este tipo en la pila ni usando el operador new, ya que provocará errores en tiempo de ejecución y/o fallas de aserción. Siempre envuelva esta clase en un puntero System::SmartPtr y use ese puntero para pasarlo a funciones como argumento.
template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
| Parámetro | Descripción |
|---|
| TKey | Tipo de clave. |
| TValue | Tipo de valor. |
Métodos
| Método | Descripción |
|---|
| Add(const TKey&, const TValue&) override | Agrega valor al diccionario. |
| Clear() override | Elimina todos los elementos del contenedor. |
| CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) override | Copia los elementos del contenedor a elementos existentes de una matriz. |
| get_KeysInternal() const override | Obtiene la colección contenedora para acceder a las claves del diccionario. |
| idx_set(const TKey&, TValue) override | Información RTTI. |
| Remove(const TKey&) override | Elimina el elemento del contenedor. |
| TryAdd(const TKey&, const TValue&) | Intenta agregar un par clave/valor al diccionario. |
Typedefs
Observaciones
#include <system/collections/concurrent/concurrent_dictionary.h>
#include <system/smart_ptr.h>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
const int itemsCount = 32;
// Cree la instancia de la clase ConcurrentDictionary.
auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();
// Llena el diccionario concurrente.
for (auto i = 0; i < itemsCount; ++i)
{
concurrentDictionary->Add(i, i * i);
}
Console::WriteLine(concurrentDictionary->idx_get(3));
return 0;
}
/*
This code example produces the following output:
9
*/
Ver también