Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Interlocked.Exchange (Object, Object)

 

Data di pubblicazione: ottobre 2016

Imposta un oggetto su un valore specificato e restituisce un riferimento all'oggetto originale, come operazione atomica.

Spazio dei nomi:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public static object Exchange(
	ref object location1,
	object value
)

Parametri

location1
Type: System.Object

Variabile da impostare sul valore specificato.

value
Type: System.Object

Valore su cui è impostato il parametro location1.

Valore restituito

Type: System.Object

Valore originale di location1.

Exception Condition
ArgumentNullException

L'indirizzo di location1 è un puntatore Null.

Beginning with .NET Framework version 2.0, the M:System.Threading.Interlocked.Exchange``1(``0@,``0) method overload provides a type-safe alternative for reference types.

The following code example shows the syntax for using Exchange with any reference type object.

using System;
using System.Threading;

class AtomicTest
{
    static void Main()
    {
        AtomicExchange atomicExchange = new AtomicExchange();
        Thread firstThread = 
            new Thread(new ThreadStart(atomicExchange.Switch));
        firstThread.Start();
    }
}

class AtomicExchange
{
    class SomeType{}

    // To use Interlocked.Exchange, someType1 
    // must be declared as type Object.
    object   someType1;
    SomeType someType2;

    public AtomicExchange() 
    {
        someType1 = new SomeType();
        someType2 = new SomeType();
    }

    public void Switch()
    {
        someType2 = (SomeType)Interlocked.Exchange(
            ref someType1, (object)someType2);
    }
}

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: