Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Interlocked.CompareExchange<T> méthode (T, T, T)

 

Date de publication : novembre 2016

Compare deux instances du type de référence spécifié T l’égalité et, s’ils sont égaux, remplace le premier.

Espace de noms:   System.Threading
Assembly:  mscorlib (dans mscorlib.dll)

[ComVisibleAttribute(false)]
public static T CompareExchange<T>(
	ref T location1,
	T value,
	T comparand
)
where T : class

Paramètres

location1
Type: T

Destination, dont la valeur est comparée avec comparand et qui peut être remplacée. Il s’agit d’un paramètre de référence (ref en C#, ByRef en Visual Basic).

value
Type: T

Valeur qui remplace la valeur de destination si la comparaison conclut à une égalité.

comparand
Type: T

Valeur comparée à celle de location1.

Valeur de retour

Type: T

Valeur d’origine dans location1.

Paramètres de type

T

Le type à utiliser pour location1, value, et comparand. Ce type doit être un type référence.

Exception Condition
NullReferenceException

L’adresse de location1 est un pointeur null.

Si comparand et la valeur de location1 sont identiques, value est stocké dans location1. Dans le cas contraire, aucune opération n'est effectuée. La comparaison et l’échange sont effectuées comme une opération atomique. La valeur de retour de cette méthode est la valeur d’origine dans location1, que l’échange ait lieu ou non.

Cette méthode prend uniquement en charge les types référence. Il existe des surcharges de la CompareExchange méthode pour les types valeur Int32, Int64, IntPtr, Single, et Double, mais il n’existe aucune prise en charge d’autres types valeur.

System_CAPS_noteRemarque

Cette surcharge de méthode est préférable à la CompareExchange(Object, Object, Object) surcharge de méthode, car cette dernière nécessite l’accès à liaison tardive à l’objet destination.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 2.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: