Interlocked.Add Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет два целых числа и заменяет первое число на сумму (атомарная операция).
Перегрузки
Add(Int32, Int32) |
Добавляет два 32-разрядных целых числа и заменяет первое число на сумму в одной атомарной операции. |
Add(Int64, Int64) |
Добавляет два 64-разрядных целых числа и заменяет первое число на сумму в виде атомарной операции. |
Add(UInt32, UInt32) |
Складывает два 32-разрядных целых числа без знака и заменяет первое число полученной суммой в одной атомарной операции. |
Add(UInt64, UInt64) |
Складывает два 64-разрядных целых числа без знака и заменяет первое число полученной суммой в одной атомарной операции. |
Add(Int32, Int32)
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- 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.MaxValue и value
равно 1, результат равен Int32.MinValue; если value
равен 2, результат будет (Int32.MinValue + 1) и т. д. Исключение не выдается.
См. также раздел
Применяется к
Add(Int64, Int64)
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- 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.MaxValue и value
равно 1, результат равен Int64.MinValue; если value
равен 2, результат будет (Int64.MinValue + 1) и т. д. Исключение не выдается.
См. также раздел
Применяется к
Add(UInt32, UInt32)
- Исходный код:
- Interlocked.cs
- Исходный код:
- Interlocked.cs
- Исходный код:
- 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)
- Исходный код:
- Interlocked.cs
- Исходный код:
- Interlocked.cs
- Исходный код:
- 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
.