12 из 140 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
C# · OOP
Чем отличается поведение статических полей между class Box { public static int Count; } и class Box<T> { public static int Count; }?
class Box { public static int Count; }
class Box<T> { public static int Count; }
Box имеет ровно одно поле Count, общее для всего кода, а Box<T> имеет одно поле Count для каждого используемого аргумента типа
Box
Count
Box<T>
Box имеет одно Count на экземпляр, а Box<T> общее Count для всех специализаций
Оба ведут себя одинаково, так как Count не имеет тип T
T
Box<T>.Count всегда равен нулю, потому что статические поля в generic классах обнуляются для каждого аргумента типа
Box<T>.Count