Здравствуйте,
правильно ли я понимаю:
1. Статический класс, это тот же класс что и не статический, тоже при создании помещается в управляемую кучу с ссылками на значимые типы, только создается один раз на домен приложения и не уничтожается до конца существования всего приложения?
2. Если создаем обычный класс со статическим полем(напр. public int x = 4
, класс два раза размещается в управляемой куче, один раз как обычный второй как статический, и при каждом создании этого (обычного) класса, переменные в статическом классе будут обновляться.
Поправьте меня пожалуйста как размещаются объекты классов в управляемой куче со статическими полями и что за данные или ссылки они в себе хранят.
public class MyClass
{
public static int x;
static MyClass()
{
x = 5;
}
public MyClass(int _x)
{
x = _x;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(MyClass.x);
var cl = new MyClass(3);
Console.WriteLine(MyClass.x);
}
}
--
5
3