Задача по C#

Сделать сложение очень больших чисел, которые не влезают в long и int64, заходят как строка, при этом должны быть следующие ограничения:

  • Неотрицательное число
  • В аргументе только цифры
  • Нет ведущих нолей
  • Не пустая строка
  • Целое

Нужно создать класс BigNumber и 3 его метода:

  • Конструктор с ограничениями выше
  • Метод сложения двух объектов (через перегрузку операторов)
  • И перекрыть метод ToString()

 

У кого какой ИКС?

Яндекс сегодня прислал письмо, что можно посмотреть свой ИКС на Вебмастере. Для тех, кому любопытно, ИКС у этого сайта = 10. Этого наверно минималка в связи пока еще низкой посещаемостью.

Из доступной мне статистики у этого сайта (https://bel-ozero.ru) ИКС = 120.
Там посещаемость где-то в 5 раз выше, чем здесь.

Давайте меряться ИКСами) У кого какой ИКС?

UPD. Здесь (https://webmaster.yandex.ru/sqi/?host=) можно посмотреть ИКС любого сайта. Например, у Википедии он равен 69000.

Горячие клавиши в Visual Studio

Сюда буду добавлять горячие клавиши в Visual Studio, способы быстрого ввода и прочие фишки, позволяющие кодить более комфортно.

Начнем с самого простого, что бывает нужно начинающему программисту:
cw + 2 раза Tab = Console.WriteLine();

Далее материалы статьи с Хабра, где-то с моими дополнениями, но в основном в чистом виде:

Читать далее Горячие клавиши в Visual Studio

Как удалить форматирование текста при вставке в RichTextBox в C#?

В процессе эксплуатации Блокнота 2.0 возникла проблема — при использовании черного фона во время копирования и вставки черного текста из Word он вставлялся черным, сливаясь с фоном. И вообще он полностью сохранял форматирование — начиная от шрифта, заканчивая отступами. А мы привыкли, что в блокноте все это удаляется.

Решение оказалось очень простым. Надо было добавить обработчик события при нажатии «Главное меню-Файл-Вставка» или Ctrl+V, где прописать следующий код:

Где, rtb_Text — это и есть RichTextBox. У него есть метод Paste, которому нужно указать формат данных.

Как просто добавить навык Алисе

Если нужен простой навык Алисе — просто ответы на вопросы, пересылка на сайт, то есть отличный сервис Verter.

Порядок работы:
1) Добавьте новый диалог в личном кабинете Яндекс.Диалоги.
2) Укажите при добавлении Webhook URL, который даст сервис Verter.
Это адрес, на который будут отправляться запросы.
3) Настраивайте ответы на вопросы в разделе Вопросы-ответы в Verter.
4) Тестируйте навык во вкладке Тестирование на платформе Яндекс.Диалоги. 
5) Публикация навыка.

Рекомендации

  • Рекомендуется отправлять на модерацию только полезные навыки. Если вы сразу отправите пользователя на свой сайт — навык скорее всего будет признан рекламным.
  • Добавьте ответы на частые вопросы, расскажите о ваших продуктах и услугах.
  • Указывайте подсказки к ответам, чтобы пользователям навыка было проще задавать следующий вопрос.
  • Ключевое слово может состоять из 1 слова, если есть права на этот бренд, в остальных случаях надо использовать 2 и более (предлоги за слова не считаются).

Читать далее Как просто добавить навык Алисе

Блокнот 2.1

Отличия от обычного блокнота:

  • фон по умолчанию темный, при желании можно менять на светлый
  • отсечены многие ненужные мне пункты меню (печать, размер шрифта и т.п.)

Код программы: GitHub

Скачать программу: Setup_Notepad.exe

UPD: Решена проблема сохранения формата текста при вставке. Теперь исходное форматирование удаляется.

C# Level 1

Урок 1. Введение. Базовые типы данных. Консоль. Классы и методы.
Что такое .NET Framework; Создаем консольное приложение в VisualStudio. Переменные. Типы данных и их преобразование. Выводим и вводим данные через консоль. Первое знакомство с методами и классами.

Урок 2. Управляющие конструкции
Управляем ходом выполнения программы. Используем процедурный подход в написании программ. Познакомимся с рекурсией.

Урок 3. Методы. От структур к объектам. Исключения
Методы; рекурсия; структуры; от структур к объектам; статические поля и методы; исключения;

Урок 4. Массивы. Текстовые файлы
От объектов к массивам. От массивов к “сложным” задачам. Текстовые файлы

Урок 5. Символы, строки, регулярные выражения
Символы и строки; неизменяемые строки; StringBuilder, StringReader и StringWriter; регулярные выражения; практика.

Урок 6. Делегаты, файлы, коллекции
Делегаты; организация системы ввода-вывода; работа с файловой системой; коллекции; практика.

Урок 7. Введение в Windows Forms
От консольного приложения к Windows Forms; события и их обработчики; класс Form; создаём первое приложение.

Урок 8. Программирование “по-взрослому”
О рефлексии; что такое XML; сериализация и десериализация; создаём WindowsForms-приложение “Редактор вопросов для игры “Верю-Не верю”; создаём собственные классы для работы с данными; приложение Windows Forms для работы с XML-файловой базой данных.

Делегаты в C#

Толковое объяснение здесь: https://metanit.com/

Свой пример (см. строки 15, 29-38, 45):

 

Массивы, классы (свойства, методы, конструкторы), чтение/запись txt

 

Согласованность данных: Foreign Keys

Создаем внешний ключ (foreign keys) для таблицы product.
Связываем ее с таблицей shop.brand, выбираем для колонки brand_id связь с id.
Если On Delete = NO ACTION, то БД не даст удалить бренд, если есть товар с этим брендом в таблице product.
Если On Delete = CASCADE, то БД при удалении бренда каскадно удаляет и все товары с этим брендов в таблице product.

P.S. Возникла проблема с сохранением. Когда-то в таблице были некорректные данные и они коряво удалились. Поэтому Workbench думает, что они есть и не дает установить внешние ключи. Пришлось удалить таблицу и создать заново, чтобы все заработало.