System::Collections::Concurrent::ConcurrentDictionary κλάση

ConcurrentDictionary class

Υλοποίηση λεξικού ασφαλούς-νήματος. Τα αντικείμενα αυτής της κλάσης πρέπει να δημιουργούνται μόνο χρησιμοποιώντας τη συνάρτηση System::MakeObject(). Ποτέ μην δημιουργείτε στιγμιότυπο αυτού του τύπου στη στοίβα ή χρησιμοποιώντας τον τελεστή new, καθώς θα οδηγήσει σε σφάλματα χρόνου εκτέλεσης και/ή σφάλματα ελέγχου. Πάντα τυλίξτε αυτήν την κλάση σε δείκτη System::SmartPtr και χρησιμοποιήστε αυτόν τον δείκτη για να τη περάσετε σε συναρτήσεις ως όρισμα.

template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
ParameterΠεριγραφή
TKeyΤύπος κλειδιού.
TValueΤύπος τιμής.

Μέθοδοι

ΜέθοδοςΠεριγραφή
Add(const TKey&, const TValue&) overrideΠροσθέτει τιμή στο λεξικό.
Clear() overrideΔιαγράφει όλα τα στοιχεία στο υποδοχέα.
CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) overrideΑντιγράφει τα στοιχεία του κοντέινερ σε υπάρχοντα στοιχεία του πίνακα.
get_KeysInternal() const overrideΛαμβάνει τη συλλογή περιτυλίγματος για πρόσβαση στα κλειδιά του λεξικού.
idx_set(const TKey&, TValue) overrideΠληροφορίες RTTI.
Remove(const TKey&) overrideΑφαιρεί στοιχείο από το υποδοχέα.
TryAdd(const TKey&, const TValue&)Προσπαθεί να προσθέσει ζεύγος κλειδί/τιμή στο λεξικό.

Typedefs

TypedefΠεριγραφή
BaseTypeΤύπος υλοποίησης.
ThisTypeΑυτός ο τύπος.

Παρατηρήσεις

#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.
  auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();

  // Συμπληρώστε το concurrent dictionary.
  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
*/

Δείτε επίσης