我一直在尝试找出静态类的真相已经有很长一段时间了。我的观点是:值类型在使用new运算符时分配在堆栈中,引用类型在堆中分配。但静态类的本质是您无法创建其实例,并且它肯定不是值类型。那么,我有一个问题:CLR何时在哪里为静态内容分配内存?关于何时...我假设是在编译期间,当构建程序集时,但我不确定。至于在哪里...当我试图找出时,我阅读了J.Richter的“CLR via C#”,他写道,当您创建该特定类的实例(与类型对象指针和同步块索引一起)时,实例类的静态方法在堆中分配。但我不明白。它是静态的。它不应该依赖于任何对象状态。所以,请给我解释一下。