c# - 当出现++counter时,内存中发生了什么?

标签 c# c#-4.0

假设我有:

int counter;
++counter;

问题是:内存(堆栈)中发生了什么? 如果在堆栈中创建了一个新变量并复制先前变量的值并添加 +1 或其使用的临时变量,添加 +1 然后将新值放入计数器?

最佳答案

counter 的值从内存加载到 CPU 寄存器,递增,然后写回相同的内存地址。在此过程中不会分配额外的内存,并且 counter 位于堆栈中或其他任何位置都没有区别。

关于c# - 当出现++counter时,内存中发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12838628/

相关文章:

c# - 为什么 System.Timers.Timer elapsed 在关闭并重新打开表单后多次触发

c# - Dotnet 应用程序作为守护进程启动,无法正常工作

c#-4.0 - 在服务器上调整图像大小,然后上传到 azure

c# - 如何在 Visual Studio 中为生产环境配置 Web 引用

c# - 类既扩展了抽象类又实现了接口(interface)

c# - 如何在 ASP.NET Identity 中添加声明

c# - AppDomain.CurrentDomain.AssemblyResolve 可能存在的信任问题或我应该注意的其他问题

c# - C# 中的谓词问题

c#-4.0 - 通用 InArgument 在尝试获取值时抛出异常

c# - 任务(或线程)需要 Wait 或 Join 才能工作