Приветствую всех, сегодня хотел затронуть тему о делегатах, и их применения. Для работы с делегатами нам необходимо объявить тип делегата и тип указателей на метод оно и будет именем делегата. delegate возвращаемый_тип имя (список_параметров); public delegate int num(int i); Который в нашем случаи принимает число в качестве аргумента и возвращает так же число. Делегаты имеют […]
Рубрика: C#
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», […]
Форматированный вывод
Сегодня поговорим о форматированном выводе, который позволит выводить информацию в правильном виде в консоль, а также форматировать строки внутри самой программы. Один из часто встречающихся выводов в консоль которые мы видели, имел вид как в примере ниже: string site = «nookery «; string str = «it’s fun!»; Console.WriteLine(site + str); Но когда вы начнете работу […]
