У меня есть класс, которые имеют статического участника. Как я понимаю, все статические участники характерны для всех экземпляров класса, что означает, что статические участники были бы выделенной памятью только однажды. Где эта память выделяется (Стек или "куча") и когда эта память становится выделенной?
Править: Эта память отличается от памяти уровня экземпляра. Как эта память становится ссылаемой? Эта память становится выделенной во время компиляции?
Статические элементы всегда хранятся в глобальной куче, даже элементы ссылочного типа. Однако эта куча не является обычной кучей со сборкой мусора. Узнайте больше здесь: http://www.codeproject.com/KB/cs/codeconcepts.aspx
Эта память выделена в куче. У каждого типа есть статический конструктор, который выполняет инициализацию типа. Он выполняется до обращения к типу.
Выделение памяти для статических элементов выполняется только тогда, когда тип используется на время, будь то объявление переменной или доступ к статическому члену.
Как уже говорилось, выделение памяти для статических элементов выполняется в куче.