classe System::Collections::Concurrent::ConcurrentDictionary
ConcurrentDictionary class
Implementazione di dizionario thread-safe. Gli oggetti di questa classe dovrebbero essere allocati solo utilizzando la funzione System::MakeObject(). Non creare mai un’istanza di questo tipo sullo stack o usando l’operatore new, poiché ciò provocherà errori di runtime e/o fallimenti di asserzione. Avvolgere sempre questa classe in un puntatore System::SmartPtr e utilizzare tale puntatore per passarlo alle funzioni come argomento.
template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
| Parametro | Descrizione |
|---|
| TKey | Tipo di chiave. |
| TValue | Tipo valore. |
Metodi
| Metodo | Descrizione |
|---|
| Add(const TKey&, const TValue&) override | Aggiunge un valore al dizionario. |
| Clear() override | Elimina tutti gli elementi nel contenitore. |
| CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) override | Copia gli elementi del contenitore negli elementi esistenti dell’array. |
| get_KeysInternal() const override | Ottiene la collezione wrapper per accedere alle chiavi del dizionario. |
| idx_set(const TKey&, TValue) override | Informazioni RTTI. |
| Remove(const TKey&) override | Rimuove l’elemento dal contenitore. |
| TryAdd(const TKey&, const TValue&) | Prova ad aggiungere una coppia chiave/valore al dizionario. |
Typedefs
Osservazioni
#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;
// Crea l'istanza della classe ConcurrentDictionary.
auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();
// Riempi il dizionario concorrente.
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
*/
Vedi anche