classe System::Collections::Concurrent::ConcurrentDictionary

ConcurrentDictionary class

Implémentation de dictionnaire thread-safe. Les objets de cette classe doivent être alloués uniquement à l’aide de la fonction System::MakeObject(). Ne créez jamais d’instance de ce type sur la pile ou en utilisant l’opérateur new, car cela entraînera des erreurs d’exécution et/ou des échecs d’assertion. Enveloppez toujours cette classe dans un pointeur System::SmartPtr et utilisez ce pointeur pour le passer aux fonctions en tant qu’argument.

template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
ParamètreDescription
TKeyType de clé.
TValueType valeur.

Méthodes

MéthodeDescription
Add(const TKey&, const TValue&) overrideAjoute une valeur dans le dictionnaire.
Clear() overrideSupprime tous les éléments du conteneur.
CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) overrideCopie les éléments du conteneur vers des éléments de tableau existants.
get_KeysInternal() const overrideObtient la collection d’enveloppe pour accéder aux clés du dictionnaire.
idx_set(const TKey&, TValue) overrideInformations RTTI.
Remove(const TKey&) overrideSupprime l’élément du conteneur.
TryAdd(const TKey&, const TValue&)Tente d’ajouter une paire clé/valeur dans le dictionnaire.

Typedefs

TypedefDescription
BaseTypeType d’implémentation.
ThisTypeCe type.

Remarques

#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;

  // Créez l'instance de la classe ConcurrentDictionary.
  auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();

  // Remplissez le dictionnaire concurrent.
  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
*/

Voir aussi