【问题标题】:Where will this struct be stored and why? [duplicate]这个结构将存储在哪里,为什么? [复制]
【发布时间】:2023-02-21 01:33:08
【问题描述】:
void Test()
{
    Test.Instance.a++;
    Console.WriteLine("Test:" + Test.Instance.a);
}

struct Test
{
    public static Test Instance  = new();
    public int a;
}

Test.Instance 对象会存储在堆上还是堆栈上,为什么?

【问题讨论】:

    标签: c# struct


    【解决方案1】:

    它们不能存储在堆栈中,因为它们没有与静态数据关联的堆栈帧。

    根据 Jon Skeet 的blog“每个静态变量都存储在堆上。”

    【讨论】:

      猜你喜欢
      • 2021-09-19
      • 2014-11-06
      • 2022-01-18
      • 2017-02-17
      • 2017-04-07
      • 2016-12-29
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多