Иосиф Дзеранов

Инженер-разработчик .........Преподаватель.......... Наставник в мир программирования

  • Бесплатные курсы
  • Платные дистанционные курсы
  • Программирование на С#
  • Паттерны программирования
  • Внедрение зависимостей
  • Олимпиадное программирование
  • iOS
  • Контакты

C#

Исследуем минорные возможности C# 7

22.02.2018 / 1 Comment

C # 7 добавляет ряд новых возможностей и фокусирует внимание на потреблении данных, упрощении кода и производительности. Самые большие фичи были уже рассмотрены — кортежи, локальные функции, сопоставление с образцом и throw выражения. Но есть и другие новые возможности, как большие, так и малые. Все они сочетаются, чтобы сделать код более эффективным и понятным, чтобы … Читать дальше →

Posted in: С# Tagged: .Net, C#, C#7

Throw выражения в C# 7

03.02.2018 / Leave a Comment

В C# throw всегда был оператором. Поскольку throw — это оператор, а не выражение, существуют конструкции в C#, в которых нельзя использовать его. в операторе Null-Coalescing (??) в лямбда выражении в условном операторе (?:) в теле выражений (expression-bodied) Чтобы исправить данную проблему, C# 7 вводит выражения throws. Синтаксис остался таким же, как всегда использовался для … Читать дальше →

Posted in: С# Tagged: .Net, C#, C#7

Исследуем сопоставление с образцом в C# 7

31.01.2018 / Leave a Comment

В C# 7 наконец появилась долгожданная возможность под названием «сопоставление с образцом» (pattern matching). Если вы знакомы с функциональными языками, такими как F#, вы можете быть немного разочарованы этой возможностью в ее текущем виде, но даже сегодня она может упростить ваш код в самых разных сценариях. Каждая новая возможность чревата опасностью для разработчика, работающего в … Читать дальше →

Posted in: С# Tagged: .Net, C#, C#7

Анализируем локальные функции в C# 7

07.01.2018 / Leave a Comment

Добавление локальных функций в языке C# первоначально для меня было излишнем. Прочитав про них, мне мнение резко изменилось. Кто сомневается в надобности локальных функций и кто еще не знает что это, вперед за знаниями! Локальные функции — это новая возможность в C# 7, которая позволяет определять функцию внутри другой функции. Когда использовать локальные функции? Основная … Читать дальше →

Posted in: С# Tagged: .Net, C#, C#7, Локальные функции

Исследование кортежей в C# 7

23.12.2017 / 433 комментария

Типы System.Tuple были введены в .NET 4.0 с двумя существенными недостатками: Типы кортежей являются классами; Не существует языковой поддержки для их создания/деконструкции (deconstruction). Чтобы решить эти проблемы, в C# 7 представлена новая возможность языка, а также новое семейство типов (*). Сегодня, если вам нужно склеить два значения, чтобы вернуть их из функции или поместить два … Читать дальше →

Posted in: С# Tagged: .Net, C#

Сборка мусора и время жизни объектов

03.12.2017 / Leave a Comment

Казалось бы, простой вопрос: может ли среда CLR вызвать финализатор объекта, когда экземплярный метод не завершил свое исполнение?  Другими словами, возможно ли в следующем случае увидеть «Finalizing instance.» до «Finished doing something.»? internal class GcIsWeird { ~GcIsWeird() { Console.WriteLine(«Finalizing instance.»); } public int data = 42; public void DoSomething() { Console.WriteLine(«Doing something. The answer is … … Читать дальше →

Posted in: С# Tagged: .Net, C#, Garbage Collector, Сборщик мусора

To box or not to Box? That is the question!

28.11.2017 / Leave a Comment

Недавно я заметил, что метод Equals из нашей структуры ValueTuple (*) генерирует значительный memory traffic (~1 ГБ). Это было для меня неожиданностью, поскольку эта структура используется в сценариях, критических для производительности. Вот как она выглядит: public struct ValueTuple<TItem1, TItem2> : IEquatable<ValueTuple<TItem1, TItem2>> { public TItem1 Item1 { get; } public TItem2 Item2 { get; } … Читать дальше →

Posted in: С# Tagged: .Net, C#

Олимпиадные задачи в промышленном программировании. Часть 2

25.11.2017 / Leave a Comment

Всем привет. Хочу рассказать про следующую  задачу, которую решал на работе: есть список организаций с свойствами(name, address, phone, latitude, longitude и остальные, которые в данной задаче не имеют смысла).  К ним должны были добавится еще несколько тысяч организаций с такими же свойствами. Вся загвоздка в том, что среди новых организаций есть организации, которые есть и … Читать дальше →

Posted in: Олимпиадное программирование, С# Tagged: C#, неточный поиск, Олимпиадка

Олимпиадные задачи в промышленном программировании. Часть 1

05.11.2017 / Leave a Comment

Работая Backend разработчиком в самой лучшей компании в мире, я столкнулся (или хотел столкнутся) c задачами, которые очень похожи на те, которые бывают в олимпиадном программировании. Именно о них и пойдет речь. Это первая часть статьи, в которой приведу одну задачу с подробным объяснением. Задача 1. Дано: список уникальных объектов (для простоты возьмем числа), которые … Читать дальше →

Posted in: Олимпиадное программирование, С# Tagged: C#, Shuffle, олимпиадное програмирование, Списки

История с GIT или как добавить .gitignore файл

09.10.2017 / 1 331 комментарий

Сегодня столкнулся с такой проблемой: у меня есть решение на С#, которое содержит в себе 100+ проектов. В основном это библиотеки классов, которые используются в главном проекте. Делая свою задачу, я добавил свою логику в нескольких проектах, а также изменил некоторые файлы. Протестировал, написал тесты и осталось только сделать коммит и отправить на сервер. Да, … Читать дальше →

Posted in: Разное Tagged: C#, Git
← Ранее 1 2 3 Далее →

Архивы

  • Январь 2020
  • Сентябрь 2019
  • Ноябрь 2018
  • Сентябрь 2018
  • Апрель 2018
  • Март 2018
  • Февраль 2018
  • Январь 2018
  • Декабрь 2017
  • Ноябрь 2017
  • Октябрь 2017
  • Сентябрь 2017
  • Август 2017
  • Июль 2017

Copyright © 2025 Иосиф Дзеранов.

Me WordPress Theme by themehall.com