#unity/日常积累 ## 定义 命名空间: [System.Threading](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading?view=net-8.0) 程序集: System.Threading.dll 以原子操作的形式递增指定变量的值并存储结果。 [](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#--) ## 重载 展开表 [Increment(UInt32)](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#system-threading-interlocked-increment(system-uint32@)) 以原子操作的形式递增指定变量的值并存储结果。 [Increment(UInt64)](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#system-threading-interlocked-increment(system-uint64@)) 以原子操作的形式递增指定变量的值并存储结果。 [Increment(Int32)](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#system-threading-interlocked-increment(system-int32@)) 以原子操作的形式递增指定变量的值并存储结果。 [Increment(Int64)](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#system-threading-interlocked-increment(system-int64@)) 以原子操作的形式递增指定变量的值并存储结果。 [](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#system-threading-interlocked-increment(system-uint32@)) ## Increment(UInt32) 重要 此 API 不符合 CLS。 以原子操作的形式递增指定变量的值并存储结果。 ``` cs [System.CLSCompliant(false)] public static ulong Increment (ref ulong location); ``` #### 参数 location [UInt64](https://learn.microsoft.com/zh-cn/dotnet/api/system.uint64?view=net-8.0) 其值要递增的变量。 #### 返回 [UInt64](https://learn.microsoft.com/zh-cn/dotnet/api/system.uint64?view=net-8.0) 增量操作完成后紧接变量的值。 属性 [CLSCompliantAttribute](https://learn.microsoft.com/zh-cn/dotnet/api/system.clscompliantattribute?view=net-8.0 "System.CLSCompliantAttribute") #### 例外 [NullReferenceException](https://learn.microsoft.com/zh-cn/dotnet/api/system.nullreferenceexception?view=net-8.0) `location` 的地址是一个 `null` 指针。 ### 适用于 .NET 8 和其他版本 产品 版本 .NET 5, 6, 7, 8  [](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.interlocked.increment?view=net-8.0#system-threading-interlocked-increment(system-int32@))