Interlocked.Add 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以原子操作的形式,添加两个整数并用两者的和替换第一个整数。
重载
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
的地址为空指针。
注解
此方法通过包装处理溢出条件:如果 处 location1
Int32.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
的地址为空指针。
注解
此方法通过包装处理溢出条件:如果 处 location1
Int64.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
指针。