В преддверии старта нового потока курса «C#-разработчик» представляем вашему вниманию обзор нововведений. Среди них — новый метод доступа к свойству — init, не позволяющий изменять свойства после инициализации, with-выражения для изменения свойств объекта прямо здесь и сейчас, записи и новые возможности сопоставления шаблонов. Подробности, конечно же, под катом.
Рубрика «C#» - 15
Что нового в C# 9.0
2020-11-13 в 12:15, admin, рубрики: C#, skillfactory, Блог компании SkillFactory, ооп, Программирование, разработка, сишарпХорошо ли вы помните nullable value types? Заглядываем «под капот»
2020-10-30 в 12:34, admin, рубрики: .net, C#, cil, cli, clr, CoreCLR, il, microsoft, Nullable, Блог компании PVS-Studio
В последнее время модной темой стали nullable reference types. Однако старые добрые nullable value types никуда не делись и всё так же активно используются. Хорошо ли вы помните нюансы работы с ними? Предлагаю освежить или проверить свои знания, ознакомившись с этой статьёй. Примеры кода на C# и IL, обращения к спецификации CLI и коду CoreCLR прилагаются. Начать предлагаю с интересной задачки.
Читать полностью »
Elite: Dangerous и CosmosDB
2020-10-24 в 21:06, admin, рубрики: .net, azure, C#, cosmosdb, Elite: dangerous, Microsoft Azure, Игры и игровые приставки
o7 cmdr!
Теплым карантинным вечером, в одном из телеграмных чатиков по Elite: Dangerous разгорелась дискуссия на тему: а у какого типа звезд чаще всего встречаются землеподобные планеты?
Дело в том, что исследование планет является одной из основных механик игры. А в иерархии полезности планет, землеподобные стоят на самом верху. Но и редкость их довольно высока. Так что командеры захотели узнать: на какие звезды прежде всего обращать внимание, при перемещении по млечному пути?
Из этого обсуждения родился целый проект, который я в итоге и похоронил. Нет, ответ на поставленный вопрос мы с его помощью нашли. Но проект мне по разным причинам не нравился и, спустя несколько месяцев прокрастинации, я запустил вторую итерацию. Что из этого получилось, а так же ответ на поставленный вопрос — в этой статье.
Дерево синтаксиса и альтернатива LINQ при взаимодействии с базами данных SQL
2020-10-24 в 8:18, admin, рубрики: .net, abstract syntax tree, C#, linq, linq to sql, query builder, sql
В этой статье, на примере простых логических выражений, будет показано, что такое абстрактное синтаксическое дерево и что с ним можно делать. Так же будет рассмотрена альтернатива выражениям LINQ для выполнения запросов к SQL базам данных.
.NET Community Meetup 29-10
2020-10-23 в 13:47, admin, рубрики: .net, C#, meetup, raiffeisendgtl, Блог компании Блог компании Райффайзенбанк, конференции, микросервисыБудем рады встретиться онлайн на .NET Community meetup. Подключайтесь к нам 29 октября общаться и дискутировать: затронем тему дизайна и использования асинхронного Success/Failure-пайплайна в микросервисах и погрузимся в историю языков программирования — что позаимствовали авторы C# у людей, про которых мы даже и не знаем?
До встречи онлайн!
Я принес вам решение проблемы с исключениями в C#. Но вам не понравится
2020-10-21 в 15:30, admin, рубрики: .net, C#, Блог компании VDSina.ru, обработка исключений, Программирование, Совершенный код
Я каждый день пишу код на сишарпе, и натыкаюсь на одну проблему: я трачу кучу времени на то, чтобы решить, как быть, если что-то идёт не по плану.
У меня есть приличный опыт работы с другими языками программирования, и стандартный подход по работе с ошибками в C# мне не нравится. Но языки и платформы устроены так, что ты решаешь проблемы не как считаешь нужным, а так, как принято.
Эти размышления меня измучили, и я систематизировал свои знания и идеи по обработке исключительных случаев.
Читать полностью »
Как мы переосмыслили работу со сценами в Unity
2020-10-17 в 10:52, admin, рубрики: C#, csharp, Gamedev, unity, unity3d, разработка игрUnity, как движок, имеет ряд недостатков, но которые благодаря возможностям для кастомизации и инструментам для кодогенерации, можно решить.
Сейчас я вам расскажу о том, как мы написали плагин для Unity на основе пост-процессинга проектов и кодогенератора CodeDom.
Проблема
В Unity загрузка сцен происходит через строковой идентификатор. Он не стабильный, а это означает, что он легко изменяем без явных последствий. Например, при переименовании сцены всё полетит, а выяснится это только в самом конце на этапе выполнения.
Ленивая инициализация в C#
2020-10-07 в 0:28, admin, рубрики: .net, C#, lazy initialization, ленивая инициализация, новичкамОтложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения. Необходимость ленивой инициализации может возникнуть по разным причинам: начиная от желания снизить нагрузку при старте приложения и заканчивая оптимизацией редко используемого функционала. И действительно, не все функции приложения используются всегда и, тем более, сразу, потому создание объектов, реализующих их, вполне рационально отложить до лучших времён. Я хотел бы рассмотреть варианты ленивой инициализации, доступные в языке C#.
Читать полностью »
Архитектура интерпрайз-приложений может быть другой
2020-09-28 в 14:00, admin, рубрики: .net, .net core, C#, reinforced, архитектура приложений, базы данных, Программирование, Проектирование и рефакторинг
Меня раздражает традиционная архитектура бизнес-приложений — об этом я уже говорил. Я критикую — я предлагаю. Сейчас я расскажу, к чему меня привели поиски решений для проблем из предыдущей статьи.
Мне нравится перебирать архитектурные концепции. Всю жизнь я пытаюсь найти в области архитектуры и дизайна ПО что-то работающее и в то же время простое. Не требующее разрыва мозга для понимания и кардинальной смены парадигмы. Идей накопилось порядочно и я решил объединить лучшие из них в своём фреймворке — Reinforced.Tecture. Разработка таких штук даёт гигантское количество пищи для размышлений, я хочу ими поделиться.
Тексты про такие технические вещи обычно до ужаса нудные. Я честно постарался не нудить, поэтому мой текст получился слегка агрессивным. Если вам с этим норм и интересно почитать про архитектуры .NET-приложений — заходите.
Творческое использование методов расширения в C#
2020-09-12 в 6:24, admin, рубрики: .net, C#, Блог компании Издательский дом «Питер», методы расширения, ооп, Программирование, проектирование интерфейсов, чистый кодПривет!
Продолжая исследование темы C#, мы перевели для вас следующую небольшую статью, касающуюся оригинального использования extension methods. Рекомендуем обратить особое внимание на последний раздел, касающийся интерфейсов, а также на профиль автора.