System::Collections::Concurrent::ConcurrentDictionary sınıfı

ConcurrentDictionary class

İş parçacığı güvenli sözlük uygulaması. Bu sınıfın nesneleri yalnızca System::MakeObject() işlevi kullanılarak ayrılmalıdır. Bu tipin örneğini yığına (stack) ya da operator new ile oluşturmayın, çünkü çalışma zamanı hatalarına ve/veya doğrulama hatalarına yol açar. Bu sınıfı her zaman System::SmartPtr işaretçisine sarın ve bu işaretçiyi fonksiyonlara argüman olarak geçirmek için kullanın.

template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
ParametreAçıklama
TKeyAnahtar türü.
TValueDeğer türü.

Yöntemler

YöntemAçıklama
Add(const TKey&, const TValue&) overrideSözlüğe değer ekler.
Clear() overrideKapsayıcıdaki tüm öğeleri siler.
CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) overrideKonteynır elemanlarını mevcut dizi elemanlarına kopyalar.
get_KeysInternal() const overrideSözlük anahtarlarına erişmek için sarmalayıcı koleksiyon alır.
idx_set(const TKey&, TValue) overrideRTTI bilgisi.
Remove(const TKey&) overrideKapsayıcıdan öğeyi kaldırır.
TryAdd(const TKey&, const TValue&)Anahtar/değer çiftini sözlüğe eklemeyi dener.

Typedefs

TypedefAçıklama
BaseTypeUygulama türü.
ThisTypeBu tip.

Açıklamalar

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

  // ConcurrentDictionary sınıfı örneğini oluştur.
  auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();

  // ConcurrentDictionary sözlüğünü doldur.
  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
*/

Ayrıca Bakınız