т.е. не придется джитить лишние инстансы класса: private static class EmptyArray<T> where T : notnull { internal static readonly T[] Value = new T[0]; }
т.е. не придется джитить лишние инстансы класса: private static class EmptyArray<T> where T : notnull { internal static readonly T[] Value = new T[0]; }
Ну, хм, наверное, у класса + статик инстанса оверхед побольше, чем у одного лишь статик инстанса
проверка выхода за границы почти никак не связана с версией
Я имею в виду, что для итератора важно не выйти за границы списка, и это и так есть. А проверка версии нечестная, точнее она поломана изначально. Зачем тратить ресурсы на проверку версии не ясно.