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ámetroDescripción
TKeyTipo de clave.
TValueTipo de valor.

Métodos

MétodoDescripción
Add(const TKey&, const TValue&) overrideAgrega valor al diccionario.
Clear() overrideElimina todos los elementos del contenedor.
CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) overrideCopia los elementos del contenedor a elementos existentes de una matriz.
get_KeysInternal() const overrideObtiene la colección contenedora para acceder a las claves del diccionario.
idx_set(const TKey&, TValue) overrideInformación RTTI.
Remove(const TKey&) overrideElimina el elemento del contenedor.
TryAdd(const TKey&, const TValue&)Intenta agregar un par clave/valor al diccionario.

Typedefs

TypedefDescripción
BaseTypeTipo de implementación.
ThisTypeEste tipo.

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