Search
Write a publication
Pull to refresh
1
0
Send message

Готовимся к куче доната и нереальной монетизации. Take two не даст игре иметь нормальную модель получения прибыли, что случилось с GTA ONLINE.

Вообще боль у нас на данном vpn завязано половина сервисом и подключения к удаленным устройствам((



От private readonly List<object> listeners = new(), стоит отказаться как минимум по причине неоднократной распаковки, из object в объект нужного нам типа, также прочитал некоторую оптимизацию использования операторов is и as, из книги Рихтера, вот выдержка из нее.


{

Для null-ссылок оператор is всегда возвращает false, так как объекта, тип

которого нужно проверить, не существует.

Обычно оператор is используется следующим образом:

if (o is Employee) {

Employee e = (Employee) o;

// Используем e внутри инструкции if

}

В этом коде CLR по сути проверяет тип объекта дважды: сначала в операторе

is определяется совместимость o с типом Employee, а затем в теле оператора if


анализируется, является ли o ссылкой на Employee. Контроль типов в CLR укре-

пляет безопасность, но при этом приходится жертвовать производительностью,


так как среда CLR должна выяснять фактический тип объекта, на который ссы-

лается переменная (o), а затем проверять всю иерархию наследования на предмет


наличия среди базовых типов заданного типа (Employee). Поскольку такая схема

встречается в программировании часто, в C# предложен механизм, повышающий

эффективность кода с помощью оператора as:

Employee e = o as Employee;

if (e != null) {

// Используем e внутри инструкции if

}

В этом коде CLR проверяет совместимость o с типом Employee. Если o и Employee


совместимы, as возвращает ненулевой указатель на этот объект, а если нет — опера-

тор as возвращает null.

}

Ох, это вы еще не работали с поддержкой Sony для PS4/PS5

Крайне интересная статья, хоть и не фанат палеонтологии, прочитал с большим удовольствием.

Information

Rating
Does not participate
Registered
Activity