Создание бота для Skype и его публикация

Я давно хотел попробовать написать какого-нибудь простого бота, чтобы разобраться в этом процессе. Сейчас я в отпуске и у меня есть достаточно свободного времени, чтобы начать писать в своё удовольствие в этом направлении…

Я решил начать с простого бота, который может работать только с текстом. Бот будет на недавно анонсированной платформе для ботов от Microsoft (Microsoft Bot Framework). Мне она приглянулась тем, что теоретически, один реализованный бот может работать и для Skype и для Telegram и для веба и еще много всяких вариантов... [Ещё]

LinqPad — незаменимый инструмент .NET разработчика

Сегодня мне хочется рассказать про один очень интересный инструмент, а именно «LinqPad». Наверняка, многие с ним работают, но многие из моих знакомых не слышали о нём или не пытались его использовать. Если вы давно используете LinqPad, то в данной статье вы не найдёте ничего нового, а вот для тех, кто еще его не использует, она обязательна к прочтению. [Ещё]

Ката программирования на C# — "FizzBuzz"

Следующая ката, пожалуй, самая простая. Для её реализации понадобится всего несколько минут. Это будет всем известный «FizzBuzz». Суть задания заключается в том, что необходимо вывести числа от 1 до 100, при этом, если число делится на 3, выводить «Fizz», если делится на 5, выводить «Buzz», а если делится и на 3 и на 5, то вывести «FizzBuzz». Во всех остальных случаях выводить само число. [Ещё]

Ката программирования на C# — "Крестики-нолики"

Вот очередная ката программирования, на языке C#. В этот раз, в необычном для меня формате. Я решил записать видео самого процесса создания, исходный код, как всегда, можно увидеть на GitHub. Видео получилось длиной почти 23 минуты, кому интересно, читайте дальше… [Ещё]

Использование расширений для обхода неинициализированных классов

Всем привет. Решил написать об одной интересной вещи, о которой я узнал на конференции DevCon в докладе Дмитрия Нестерука «Несколько трюков в C#», а именно использование расширений для обхода неинициализированных классов. Если у вас есть свободное время, обязательно посмотрите сам доклад, там затронуто еще несколько очень интересных вещей… [Ещё]

Класс Path в C# — работа с путями и именами файлов

Работая с директориями и файлами, приходится выполнять такие операции как составление пути к файлу, получение расширения файла, получение абсолютного пути к файлу и много других операций. В C# для этих и подобных операций существует класс System.IO.Path… [Ещё]

Запрет использования устаревших методов в C# — атрибут Obsolete

Когда работаешь над проектом продолжительное время, порой возникает необходимость запрета использования одних методов/классов и замене их другими. Данный переход должен быть максимально безболезненным для разработчиков и всё необходимое для этого в C# уже есть… [Ещё]

Использование NumberStyles — анализ чисел в C#

Наверняка всем неоднократно приходилось выделять числа из строк. Это довольно простая задача, если в строке записано только число, без разделителей, без указания валюты (в случае вывода стоимости), не используя экспоненциальное представление. Но порой это не так… [Ещё]

Использование UnicodeCategory в C#

Сегодня я бы хотел рассказать о категориях Unicode-символов в C#. Наверняка все использовали такие функции как char.IsLower(c), char.IsDigit(c) и подобные. Это определённо лучший способ получить информацию о символе, но мы можем получить гораздо больше информации о Unicode символах, если воспользуемся функцией char.GetUnicodeCategory(c)… [Ещё]