次の方法で共有


Interlocked.CompareExchange メソッド (Object, Object, Object)

2 つのオブジェクトが等しいかどうかを比較します。等しい場合は、オブジェクトのいずれかを置き換えます。

Overloads Public Shared Function CompareExchange( _
   ByRef location1 As Object, _   ByVal value As Object, _   ByVal comparand As Object _) As Object
[C#]
public static object CompareExchange(   ref objectlocation1,objectvalue,objectcomparand);
[C++]
public: static Object* CompareExchange(   Object** location1,Object* value,Object* comparand);
[JScript]
public static function CompareExchange(
   location1 : Object,value : Object,comparand : Object) : Object;

パラメータ

  • location1
    comparand パラメータの値と比較され、置き換えられる可能性のある比較先のオブジェクト。
  • value
    比較した結果が等しい場合に比較先のオブジェクトを置き換えるオブジェクト。
  • comparand
    location1 パラメータと比較されるオブジェクト。

戻り値

location1 パラメータの元の値。

例外

例外の種類 条件
ArgumentNullException location1 のアドレスが null 参照 (Visual Basic では Nothing) です。

解説

comparandlocation1 が等しい場合、 value は格納先に格納されます。それ以外の場合は、操作が実行されません。比較操作および交換操作は、分割不可能な操作として実行されます。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Interlocked クラス | Interlocked メンバ | System.Threading 名前空間 | Interlocked.CompareExchange オーバーロードの一覧 | スレッド処理 | Interlocked