Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Collezioni "concurrent" in .NET 4.0: ConcurrentDictionary(Of TKey,TValue)

Riprendiamo il discorso sulle collezioni concurrent con Visual Basic 2010, sospeso la volta scorsa in cui abbiamo parlato della ConcurrentStack. La collezione thread-safe che vediamo oggi è la ConcurrentDictionary(Of TKey, TValue), che è la controparte thread-safe della già nota Dictionary e che consente di memorizzare coppie di tipo chiave/valore. La logica di funzionamento è essenzialmente analoga a quella della Dictionary (chiaramente sempre con la differenza dell'essere "concurrent"), mentre le differenze stanno nei nomi dei membri come si evince dal seguente esempio di codice:

        'Ipotizziamo coppie Nome/età

        Dim cd As New ConcurrentDictionary(Of String, Integer)

 

        Dim result As Boolean

 

        'Aggiunta di elementi

        result = cd.TryAdd("Alessandro", 32)

        result = cd.TryAdd("Antonio", 32)

        result = cd.TryAdd("Renato", 42)

 

        'Rimozione di un elemento

        result = cd.TryRemove("Renato", 42)

 

        'Ottenere il valore di un element, data la chiave

        Dim value As Integer

        result = cd.TryGetValue("Alessandro", value)

Tutti i metodi della classe restituiscono un valore booleano che indica la riuscita o meno dell'operazione richiesta e tutti i metodi iniziano con Try. Si noti, al riguardo, l'utilizzo del metodo TryGetValue per ottenere la parte "valore" della coppia chiave/valore, data la chiave. Nel prossimo post parleremo della BlockingCollection(Of T).

Alessandro

Print | posted on mercoledì 13 gennaio 2010 13:27 | Filed Under [ Visual Basic Parallel Programming ]

Powered by:
Powered By Subtext Powered By ASP.NET