Разбираемся с делегатами

Приветствую всех, сегодня хотел затронуть тему о делегатах, и их применения. Для работы с делегатами нам необходимо объявить тип делегата и тип указателей на метод оно и будет именем делегата. delegate возвращаемый_тип имя (список_параметров); public delegate int num(int i); Который в нашем случаи принимает число в качестве аргумента и возвращает так же число. Делегаты имеют […]

IEnumerable и IEnumerator и yield примеры реализации C#

Приветствую всех, сегодня поговорим об интерфейсах IEnumerable и IEnumerator и yield. Прежде чем приступить рассмотрению примеров с интерфейсами, хотел бы показать один пример. Представьте у нас есть класс Car, а нам нужно узнать все имеющиеся в нем модели автомобилей. Для подобного рода случая сразу хочется применить foreach foreach(Car model in car) Console.WriteLine(model.Type);   Однако это […]

Tuple примеры работы с кортежами.

Приветствую всех, сегодня поговорим о Кортежах Tuple который представляет один из дженерик классов. Как создать экземпляр Tuple ? Приведенные примеры ниже позволяют создать экземпляр классы уже со значениями: var tuple = new Tuple<int, string>(123, «nookery.ru»); // Конструктор Tuple<int, string> tuple2 = Tuple.Create(123, «nookery.ru»); // Статический метод var tuple3 = Tuple.Create(123, «nookery.ru»); // Сокращенный вариант использования […]

Разбираемся с Nullable

Приветствую всех. Сегодня поговорим об обобщенной структуре Nullable<T> которая является дженерик классом. Бывают случаи при работе с базами данных или во время парсинга, необходимо возвращать значению null, но в сишарпе значения null могут возвращать только ссылочные типы. Вот для таких случаев и используют структура Nullable<T>.   Т в данном случаи означает универсальный параметр, который будет автоматически […]

Разбираемся с обобщением generic

Приветствую всех, сегодня поговорим о джанериках.  Джанерики это общий тип параметров. Обобщение(Универсальные шаблоны) – элемент кода, способный адаптироваться для выполнения общих (сходных) действий над различными типами данных. Универсальные шаблоны были добавлены в язык C# версии 2.0 и среду CLR. Эта возможность CTS (Common Type System — общая система типов), названа обобщениями (generics). Его можно разделить […]

Алгоритмы сортировки массивов на C#

Приветствую всех, сегодня хочу поговорить о алгоритме сортировки. Сегодня в программировании применяются множество готовых решений метод в этой задачи. Но рассмотреть я хотел бы сами алгоритмы сортировки. Сортировка пузырьковым методом: private static void BubbleSort(int[] array) { for (int i = 0; i < array.Length; i++) for (int j = 0; j < array.Length — 1; […]

Как осуществить поиск заданного элемента на C#

Приветствую всех, сегодня рассмотрим несколько алгоритмов поиска. Поиск часто встречается в приложениях с работой текстами или базами данных, и частенько приходиться их применять. Вариаций поисков много, при реализации их стоит учитывать некоторые специфические моменты. А так же скорость работы этих методов. Алгоритм Бинарный поиск: static int FindIndexByBinarySearch(int[] array, int element) { var left = 0; […]

Как перебрать все комбинации символов по заданной длине пароля?

Приветствую всех, сегодня мы рассмотрим пример при котором на входе задается длина комбинации, а символы которые будут использоваться в комбинации вносятся в методе MakeSubsets. Давно еще лет 5 назад, когда мне требовалось написать программу для подбора пароля из комбинаций цифр я использовал условные операторы и счетчики. Мой код был ужасен, а длина его была очень […]

Работа с файлами и каталогами C#

Сегодня поговорим о файлах и каталогах. Используем разные примеры методов которые вы будете применять часто в своих программах. Я постарался описать практически все варианты для работы с файлами и каталогами, методы и подходы.   Как создать текстовый фаил и сохранить в нем текст? Что бы создать и записать текст в фаил используем следующий пример: File.WriteAllText(«test.txt», […]

Как установить Русская рыбалка на windows 10

Приветствую всех! Сегодня меня попросили  установить windows 10. Все шло гладко, однако когда коснулось любимой игры хозяина компьютера Русская рыбалка игра отказывалась запускаться. Требовала установки .net framework 3.5 Видимо разработчики не учли того что игрой люди могут пользоваться с разными версиями .net и зачем то привязали проверку .net именно к этой версии. Проблема заключается в […]