C# 等待对象占用的内存

C# 等待对象占用的内存,c#,async-await,C#,Async Await,下面代码的内存占用量是多少,比如堆上的对象数 for (int i = 0; i < 10000; i++) { await MyMethod(); } for(int i=0;i

下面代码的内存占用量是多少,比如堆上的对象数

for (int i = 0; i < 10000; i++)
        {
            await MyMethod();
        }
for(int i=0;i<10000;i++)
{
等待我的方法();
}

这个问题可能是重复的

但是对
VirtualMemorySize64
方法的以下调用将获得内存的当前大小(以字节为单位)。如果您包装您想要监视的操作,并在前后捕获快照,您可以在此处计算出总增加量

文档链接

使用系统诊断;
...
长启动=Process.GetCurrentProcess().VirtualMemorySize64;
对于(int i=0;i<10000;i++)
{
等待我的方法();
}
long end=Process.GetCurrentProcess().VirtualMemorySize64;
//然后可以得到以字节为单位的总差异
长差=结束-开始;

您可以在Visual Studio中自己检查。看一看。
using System.Diagnostics;

...

long start = Process.GetCurrentProcess().VirtualMemorySize64;

for (int i = 0; i < 10000; i++)
{
    await MyMethod();
}

long end = Process.GetCurrentProcess().VirtualMemorySize64;

// You can then get the total difference in bytes
long diff = end - start;