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>
ParameterBeschreibung
TKeySchlüsseltyp.
TValueWerttyp.

Methoden

MethodeBeschreibung
Add(const TKey&, const TValue&) overrideFügt einen Wert zum Wörterbuch hinzu.
Clear() overrideLöscht alle Elemente im Container.
CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) overrideKopiert Container‑Elemente in vorhandene Array‑Elemente.
get_KeysInternal() const overrideErhält die Wrapper-Sammlung, um auf die Wörterbuchschlüssel zuzugreifen.
idx_set(const TKey&, TValue) overrideRTTI-Informationen.
Remove(const TKey&) overrideEntfernt ein Element aus dem Container.
TryAdd(const TKey&, const TValue&)Versucht, ein Schlüssel/Wert-Paar zum Wörterbuch hinzuzufügen.

Typedefs

Typedef.Beschreibung
BaseTypeImplementierungstyp.
ThisTypeDieser Typ.

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