Nik Faraday, Роман , Вообще-то нет. Все константы подставляются в виде литералов во все места использования этих констант. Если сделать отдельную сборку чисто для констант, сослаться на эту сборку из основного проекта, собрать проект, то эту сборку можно будет просто удалить и всё будет работать, так как в основном проекте не будет ссылок на классы этой сборки, все константы будут подставлены в виде литералов. Можете убедиться.
Не пиши public поля, а делай их свойствами.
Не создавай экземпляр класса Program нигде в других класса. Это странно. Доступ к заполненной коллекции таким способом ты не получишь из Main.
Не называй переменные никогда в духе t, z, m и прочие непонятные сокращения.
s2d1ent, продублирую, так как ответ могут удалить, а я тратил на написание этого комментария время:
15 сентября выходит книга: C# 9.0. Справочник. Полное описание языка (15 сентября в одном известном интернет-магазине выходит). Язык программирования C# 7и платформы .NET и .NET Core | Джепикс Филипп, Троелсен Эндрю C# 8 и .NET Core. Разработка и оптимизация C# 9 and .NET 5 - Modern Cross-Platform Development - Fifth Edition. Build intelligent apps, websites, and services with Blazor, ASP.NET Core, and Entity Framework Core using Visual Studio Code
s2d1ent, 15 сентября выходит книга: C# 9.0. Справочник. Полное описание языка (15 сентября в одном известном интернет-магазине выходит). Язык программирования C# 7и платформы .NET и .NET Core | Джепикс Филипп, Троелсен Эндрю C# 8 и .NET Core. Разработка и оптимизация C# 9 and .NET 5 - Modern Cross-Platform Development - Fifth Edition. Build intelligent apps, websites, and services with Blazor, ASP.NET Core, and Entity Framework Core using Visual Studio Code
Там ему не только про Main нужно почитать. Там в принципе приёмы странные использованы. Сейчас я набросаю примеры небольшие, переделывать мне перехотелось его код - слишком много.
s2d1ent, статьи это ни о чём. Метанит не идеален, там есть ошибки, опечатки, и как по мне всё слишком урезано и коротко описано. Но в целом там можно что-то найти, почитать, но считаю, что это не замена книгам.
Ещё есть события, можно подписаться на событие и вызывать код только когда нужно, а не делать постоянные проверки. Зависит от задачи. Class1 - это класс, у которого поле, за состоянием которого ты хочешь следить в Class2, тот класс, который у тебя делает проверки в if - следит. Тебе нужно просто создать событие в Class1 и подписаться на него в Class2. Не забудь от него отписаться. Чтобы понимать где подписываться, а где отписываться, тебе нужно понимать жизненный цикл скрипта. Когда вызывается метод Start, когда Reset, когда OnEnable, OnDisable, OnDestroy и т.д. Без этого знания нет смысла что-то писать. Начать можно отсюда: https://docs.unity3d.com/Manual/ExecutionOrder.html
GetComponent нужно вызвать один раз в методе Start и присваивать результат полю. Правда я не в курсе насколько сейчас в последней версии Unity долго этот метод отрабатывает. Но обращение к полю точно будет быстрее.
User99, ну я про то и говорю, что не должно быть лень. Когда делать что-то одно лень, потом становится лень делать другое, потом ты отступаешь от правил и появляется очередной проект, в котором творится хаос. Нужно делать аннотации или если это, например JSON, то сгенерировать класс с помощью онлайн сервиса (их много, но есть один очень качественно выполняющий свою работу).
В общем, я понял. Лично я стараюсь всегда писать как нужно, даже если это один класс, один метод, который "точно" не будет меняться. Да и когда есть готовые классы для запросов на сервис, то нет даже смысла всё в кучу лепить.
По сути вопроса не скажу, но смотря на код появляются вопросы:
Зачем ты смешиваешь код получения данных и их разбор? А если появится вторая модель или десятая? Это потом будет нереально поддерживать, сложно будет заставить все такие методы работать одинаково и т.д.
Зачем ты пишешь на латинице аббревиатуры на русском языке? Нужно писать на английском языке, даже если лень или нужно гуглить аббревиатуры, придумывать имена свойств
Почему у модели данных свойства (или это public поля?) с маленькой буквы?
Ответа не жду. Так, чтобы внимание обратил на раннем этапе.
Jacen11, всё правильно он именует. Я так на работе именую поля с нижнего подчёркивания и не на первой работе. Даже в исходниках .NET Core такое есть. Вот даже пример: StreamWriter
MegaTochka, сформулируй вопрос более понятно. Я ничего не понял. Не понял какая связь этого вопроса про скорость и зелья и ранее мной написанными комментариями или написанным тобой вопросом.
kingslayer, "Освой самостоятельно C++ по одному часу в день | Сиддхартха Рао". Я её читал имея опыт программирования на C# и я понял абсолютно всё, мне книга понравилась. Имея опыт программирования мне видно, где могут объяснять странно, неправильно и т.д. и такие проблемы я не припоминаю в объяснениях.
Можете убедиться.