Прочитать на английском

Поделиться через


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-разрядных целых числа и заменяет первое число на сумму в одной атомарной операции.

C#
public static int Add(ref int location1, int value);

Параметры

location1
Int32

Переменная, содержащая первое добавляемое значение. Сумма двух значений сохраняется в location1.

value
Int32

Значение, добавляемое к целому в location1.

Возвращаемое значение

Новое значение, сохраненное в location1 этой операции.

Исключения

Адрес location1 является пустым указателем.

Комментарии

Этот метод обрабатывает условие переполнения путем упаковки: если значение в location1 равно Int32.MaxValue и value равно 1, результат равен Int32.MinValue; если value равен 2, результат будет (Int32.MinValue + 1) и т. д. Исключение не выдается.

См. также раздел

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Add(Int64, Int64)

Исходный код:
Interlocked.CoreCLR.cs
Исходный код:
Interlocked.CoreCLR.cs
Исходный код:
Interlocked.CoreCLR.cs

Добавляет два 64-разрядных целых числа и заменяет первое число на сумму в виде атомарной операции.

C#
public static long Add(ref long location1, long value);

Параметры

location1
Int64

Переменная, содержащая первое добавляемое значение. Сумма двух значений сохраняется в location1.

value
Int64

Значение, добавляемое к целому в location1.

Возвращаемое значение

Новое значение, сохраненное в location1 этой операции.

Исключения

Адрес location1 является пустым указателем.

Комментарии

Этот метод обрабатывает условие переполнения путем упаковки: если значение в location1 равно Int64.MaxValue и value равно 1, результат равен Int64.MinValue; если value равен 2, результат будет (Int64.MinValue + 1) и т. д. Исключение не выдается.

См. также раздел

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Add(UInt32, UInt32)

Исходный код:
Interlocked.cs
Исходный код:
Interlocked.cs
Исходный код:
Interlocked.cs

Важно!

Этот API несовместим с CLS.

Складывает два 32-разрядных целых числа без знака и заменяет первое число полученной суммой в одной атомарной операции.

C#
[System.CLSCompliant(false)]
public static uint Add(ref uint location1, uint value);

Параметры

location1
UInt32

Переменная, содержащая первое добавляемое значение. Сумма двух значений сохраняется в location1.

value
UInt32

Значение, добавляемое к целому в location1.

Возвращаемое значение

Новое значение, сохраненное в location1 этой операции.

Атрибуты

Исключения

Адрес location1 является указателем null.

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET 5, 6, 7, 8, 9, 10

Add(UInt64, UInt64)

Исходный код:
Interlocked.cs
Исходный код:
Interlocked.cs
Исходный код:
Interlocked.cs

Важно!

Этот API несовместим с CLS.

Складывает два 64-разрядных целых числа без знака и заменяет первое число полученной суммой в одной атомарной операции.

C#
[System.CLSCompliant(false)]
public static ulong Add(ref ulong location1, ulong value);

Параметры

location1
UInt64

Переменная, содержащая первое добавляемое значение. Сумма двух значений сохраняется в location1.

value
UInt64

Значение, добавляемое к целому в location1.

Возвращаемое значение

Новое значение, сохраненное в location1 этой операции.

Атрибуты

Исключения

Адрес location1 является указателем null.

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET 5, 6, 7, 8, 9, 10