Interlocked.Add 方法

定义

以原子操作的形式,添加两个整数并用两者的和替换第一个整数。

重载

Add(Int32, Int32)

对两个 32 位整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

Add(Int64, Int64)

对两个 64 位整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

Add(UInt32, UInt32)

对两个 32 位无符号整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

Add(UInt64, UInt64)

对两个 64 位无符号整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

Add(Int32, Int32)

Source:
Interlocked.CoreCLR.cs
Source:
Interlocked.CoreCLR.cs
Source:
Interlocked.CoreCLR.cs

对两个 32 位整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

public:
 static int Add(int % location1, int value);
public static int Add (ref int location1, int value);
static member Add : int * int -> int
Public Shared Function Add (ByRef location1 As Integer, value As Integer) As Integer

参数

location1
Int32

一个变量,包含要添加的第一个值。 两个值的和存储在 location1 中。

value
Int32

要添加到整数中的 location1 位置的值。

返回

此操作存储在 location1 的新值。

例外

location1 的地址为空指针。

注解

此方法通过包装处理溢出条件:如果 处 location1Int32.MaxValuevalue 的 值为 1,则结果为 Int32.MinValue;如果 value 为 2,则结果为 (Int32.MinValue + 1) ;依此类比。 不会引发异常。

另请参阅

适用于

Add(Int64, Int64)

Source:
Interlocked.CoreCLR.cs
Source:
Interlocked.CoreCLR.cs
Source:
Interlocked.CoreCLR.cs

对两个 64 位整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

public:
 static long Add(long % location1, long value);
public static long Add (ref long location1, long value);
static member Add : int64 * int64 -> int64
Public Shared Function Add (ByRef location1 As Long, value As Long) As Long

参数

location1
Int64

一个变量,包含要添加的第一个值。 两个值的和存储在 location1 中。

value
Int64

要添加到整数中的 location1 位置的值。

返回

此操作存储在 location1 的新值。

例外

location1 的地址为空指针。

注解

此方法通过包装处理溢出条件:如果 处 location1Int64.MaxValuevalue 的 值为 1,则结果为 Int64.MinValue;如果 value 为 2,则结果为 (Int64.MinValue + 1) ;依此类比。 不会引发异常。

另请参阅

适用于

Add(UInt32, UInt32)

Source:
Interlocked.cs
Source:
Interlocked.cs
Source:
Interlocked.cs

重要

此 API 不符合 CLS。

对两个 32 位无符号整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

public:
 static System::UInt32 Add(System::UInt32 % location1, System::UInt32 value);
[System.CLSCompliant(false)]
public static uint Add (ref uint location1, uint value);
[<System.CLSCompliant(false)>]
static member Add : uint32 * uint32 -> uint32
Public Shared Function Add (ByRef location1 As UInteger, value As UInteger) As UInteger

参数

location1
UInt32

一个变量,包含要添加的第一个值。 两个值的和存储在 location1 中。

value
UInt32

要添加到整数中的 location1 位置的值。

返回

此操作存储在 location1 的新值。

属性

例外

location1 的地址是一个 null 指针。

适用于

Add(UInt64, UInt64)

Source:
Interlocked.cs
Source:
Interlocked.cs
Source:
Interlocked.cs

重要

此 API 不符合 CLS。

对两个 64 位无符号整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。

public:
 static System::UInt64 Add(System::UInt64 % location1, System::UInt64 value);
[System.CLSCompliant(false)]
public static ulong Add (ref ulong location1, ulong value);
[<System.CLSCompliant(false)>]
static member Add : uint64 * uint64 -> uint64
Public Shared Function Add (ByRef location1 As ULong, value As ULong) As ULong

参数

location1
UInt64

一个变量,包含要添加的第一个值。 两个值的和存储在 location1 中。

value
UInt64

要添加到整数中的 location1 位置的值。

返回

此操作存储在 location1 的新值。

属性

例外

location1 的地址是一个 null 指针。

适用于