System::Collections::Concurrent::ConcurrentDictionary Klasse
ConcurrentDictionary class
Thread-sichere Wörterbuch-Implementierung. Objekte dieser Klasse sollten nur mit der Funktion System::MakeObject() alloziert werden. Erzeugen Sie niemals eine Instanz dieses Typs auf dem Stack oder mit dem Operator new, da dies zu Laufzeitfehlern und/oder Assertion-Fehlern führt. Wickeln Sie diese Klasse immer in den System::SmartPtr Zeiger ein und verwenden Sie diesen Zeiger, um ihn als Argument an Funktionen zu übergeben.
template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
| Parameter | Beschreibung |
|---|
| TKey | Schlüsseltyp. |
| TValue | Werttyp. |
Methoden
| Methode | Beschreibung |
|---|
| Add(const TKey&, const TValue&) override | Fügt einen Wert zum Wörterbuch hinzu. |
| Clear() override | Löscht alle Elemente im Container. |
| CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) override | Kopiert Container‑Elemente in vorhandene Array‑Elemente. |
| get_KeysInternal() const override | Erhält die Wrapper-Sammlung, um auf die Wörterbuchschlüssel zuzugreifen. |
| idx_set(const TKey&, TValue) override | RTTI-Informationen. |
| Remove(const TKey&) override | Entfernt ein Element aus dem Container. |
| TryAdd(const TKey&, const TValue&) | Versucht, ein Schlüssel/Wert-Paar zum Wörterbuch hinzuzufügen. |
Typedefs
Hinweise
#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;
// Erstelle die Instanz der ConcurrentDictionary-Klasse.
auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();
// Fülle das ConcurrentDictionary.
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
*/
Siehe auch