Структуры и разновидность

Структура (классическая) — это конструкция языка, позволяющая содержать в себе набор полей различных типов. struct MyStruct { int minute; static int second; } Структуры появились еще во времена процедурного программирования, когда еще не было ООП, созданы они были для удобства программирования. Применялись для группировки схожих по смыслу роду деятельности переменных. В структурах нельзя инициализировать поля […]

Индексаторы и массивы

Ковариантность это некий  неявный Upcast каждого элемента массива. Контравариантность это некий неявный DownCast каждого элемента массива. Массивы элементов ссылочных типов ковариантны но, не контравариантные. Массивы элементов структурных типов не ковариантные и не контравариантные. Массив — именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу. Типы массива являются […]

Абстрактный класс

Абстракция— это придание объекту характеристик, которые отличают его от всех других объектов, четко определяя его концептуальные границы. Абстрактный класс в объектно-ориентированном программировании — это базовый класс, который не предполагает создания экземпляров через вызов конструктора напрямую, но экземпляр абстрактного класса создается неявно при построении экземпляра производного конкретного класса. Ключевое слово abstract может использоваться с классами, методами, […]

Правила использования интерфейсов:

Интерфейс -это набор сигнатур методов, семантическая и синтаксическая конструкция в коде программы, используемая для специфицированния  услуг, предоставляемых классом или компонентом. Интерфейс, своего рода стереотип, являющийся аналогом чистого абстрактного класса, в котором запрещена любая реализация. В имени интерфейса следует начинать с буквы I Это дает возможность другим программистам работающим с вашим кодом понять что это интерфейс. […]

Как подключить Диаграммы классов в Visual Studio 2017-2019?

Относительно не давно обновил студию, и к моему удивлению я не обнаружил в ней Диаграмм классов. Оказалось что их надо было выбирать при установки студии. Но обо всем по порядку. Диаграмма классов очень похожа на язык UML, но не путайте, это язык DSL— domain specific language это определенный архитектурный слой который описывает бизнес сущности и […]

Как с помощью LINQ вычислить минимальное, среднее и максимальное значение?

Приветствую всех! Сегодня в коротком примере я покажу как можно в одну строку вычислить минимальное, среднее, максимальное значение. И так рассмотрим код ниже: static void Main(string[] args) { int[] numbers = { 1, 2, 6, 2, 8, 0, 10, 6, 1, 2 }; var min = numbers.Min(); var average = numbers.Average(); var max = numbers.Max(); […]

Сортировка, изменения регистра, удаления дубликатов с помощью LINQ C#

Приветствую всех! Сегодня мы рассмотрим решение одно задачи, по условию который нам дан массив предложений, который имеет дубликаты. Нам необходимо разбить строки на слова, удалить среди них дубликаты, изменить регистр слов, и произвести сортировку текста в алфавитном порядке. И так рассмотрим пример решения такой задачи, все строки я за комментировал и у вас не должно […]

Как отпарсить html страницу на C#

Приветствую всех! Сегодня хочу продемонстрировать пример того как можно отпарсить интернет страницу. В примере ниже будет строка содержащая теги html, мы воспользуемся регулярными выражениями и выведем все ссылки из текста: string input = «»; input+=»Тут у нас может быть любой текс <a href =’http://nookery.ru’>Home-page</a> Который не имеет значения.»; input += «Это могут и быть как […]

Регулярные выражения C#

Приветствую всех, сегодня хотел поговорить о регулярных выражения. Регулярные выражения появились очень давно, но посей день широко используются в программировании. Это на столько эффективный способ обработки текста, что позволяет без труда анализировать большие объемы текста, символов, или заданного шаблона поиска. Для приложений использующих большие тексты, регулярные выражения просто не заменимы! Основа обработки текста с помощью […]

Как объединить не сколько коллекций в одну?

Приветствую всех! Сегодня хочу показать пример как с помощь LINQ, объединить коллекцию в одну. По условию задания у нас дана коллекция, главный метод и метод который мы должны дописать:   public class Classroom { public List<string> Students = new List<string>(); } public static void Main() { Classroom[] classes = { new Classroom {Students = {«Pavel», […]