Skip to content

teachmeskills-dotnet/TeachMeSkills-DotNet-Professional

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TeachMeSkills DotNet Professional

Для того, чтобы отметить выполненое задание используйте 'x':
- [ ] Невыполненное задание
- [x] Выполненое задание
  • Задание 0
  • Задание 1
  • Задание 2
  • Задание 3
  • Задание 4
  • Задание 5
  • Задание 6
  • Задание 7
  • Задание 8
  • Задание 9
  • Задание 10
  • Задание 11
  • Задание 12
  • Задание 13
  • Задание 14
  • Задание 15
  • Задание 16
  • Задание 17
  • Задание 18
  • Задание 19
  • Задание 20
  • Задание 21
  • Задание 22
  • Задание 23
  • Задание 24
  • Задание 25
  • Задание 26
  • Задание 27
  • Задание 28

Задание 1

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте коллекцию, в которой бы хранились наименования 12 месяцев, порядковый номер и количество дней в соответствующем месяце.
Реализуйте возможность выбора месяцев, как по порядковому номеру, так и количеству дней в месяце, при этом результатом может быть не только один месяц.

Задание 2

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте абстрактный класс Гражданин. 
Создайте классы Студент, Пенсионер, Рабочий унаследованные от Гражданина.
Создайте непараметризированную коллекцию со следующим функционалом:
1. Добавление элемента в коллекцию.
1.1. можно добавлять только Гражданина;
1.2. при добавлении, элемент добавляется в конец коллекции. Если Пенсионер, – то в начало с учетом ранее стоящих Пенсионеров. Возвращается номер в очереди;
1.3. при добавлении одного и того же человека (проверка на равенство по номеру паспорта, необходимо переопределить метод Equals и/или операторы равенства для сравнения объектов по номеру паспорта) элемент не добавляется, выдается сообщение.
2. Удаление.
2.1. удаление – с начала коллекции;
2.2. возможно удаление с передачей экземпляра Гражданина.
3. Метод Contains возвращает true/false при налчичии/отсутствии элемента в коллекции и номер в очереди.
4. Метод ReturnLast возвращsает последнего чеолвека в очереди и его номер в очереди.
5. Метод Clear очищает коллекцию.
6. С коллекцией можно работать опертаором foreach.

Задание 3

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

Задание 4

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

Задание 5

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Несколькими способами создайте коллекцию, в которой можно хранить только целочисленные и вещественные значения, по типу «счет предприятия – доступная сумма» соответственно.

Задание 6

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте коллекцию типа OrderedDictionary и реализуйте в ней возможность сравнения значений ключей.

Задание 7

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Используя класс SortedList, создайте небольшую коллекцию и выведите на экран значения пар «ключ- значение» сначала в алфавитном порядке, а затем в обратном.

Задание 8

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте файл, запишите в него произвольные данные и закройте файл. 
Затем снова откройте этот файл, прочитайте из него данные и выведете их на консоль.

Задание 9

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте на диске 100 директорий с именами от Folder_0 до Folder_99, затем удалите их.

Задание 10

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Напишите программу, которая бы позволила вам по указанному адресу web-страницы выбирать все ссылки на другие страницы, номера телефонов, почтовые адреса и сохраняла полученный результат в файл.

Задание 11

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Напишите шуточную программу «Дешифратор», которая бы в текстовом файле могла бы заменить все предлоги на слово «ГАВ!».

Задание 12

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте текстовый файл-чек по типу «Наименование товара – 0.00 (цена) BYN.» с определенным количеством наименований товаров и датой совершения покупки.
Выведите на экран информацию из чека в формате текущей локали пользователя и в формате локали en- US.

Задание 13

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Напишите консольное приложение, позволяющие пользователю зарегистрироваться под «Логином», состоящем только из символов латинского алфавита, и пароля, состоящего из цифр и символов.

Задание 14

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте приложение, которое выводит на экран всю информацию об указанном .json файле.

Задание 15

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Из файла TelephoneBook.json (файл должен был быть создан в процессе выполнения задания) выведите на экран только номера телефонов.

Создайте .json файл, который соответствовал бы следующим требованиям:
1. имя файла: TelephoneBook.json;
2. корневой элемент: “MyContacts”;
3. тег “Contact”, и в нем должно быть записано имя контакта и атрибут “TelephoneNumber” со значением номера телефона.

Задание 16

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте класс и примените к его методам атрибут Obsolete сначала в форме, просто выводящей предупреждение, а затем в форме, препятствующей компиляции.
Продемонстрируйте работу атрибута на примере вызова данных методов.

Задание 17

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте пользовательский атрибут AccessLevelAttribute, позволяющий определить уровень доступа пользователя к системе.
Сформируйте состав сотрудников некоторой фирмы в виде набора классов, например, Manager, Programmer, Director.
При помощи атрибута AccessLevelAttribute распределите уровни доступа персонала и отобразите на экране реакцию системы на попытку каждого сотрудника получить доступ в защищенную секцию.

Задание 18

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте класс, поддерживающий сериализацию.
Выполните сериализацию объекта этого класса в формате XML.
Сначала используйте формат по умолчанию, а затем измените его таким образом, чтобы значения полей сохранились в виде атрибутов элементов XML.

Задание 19

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте пользовательский тип (например, класс) и выполните сериализацию объекта этого типа, учитывая тот факт, что состояние объекта необходимо будет передать по сети.

Задание 20

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте класс, который позволит выполнять мониторинг ресурсов, используемых программой.
Используйте его в целях наблюдения за работой программы, а именно: пользователь может указать приемлемые уровни потребления ресурсов (памяти), а методы класса позволят выдать предупреждение, когда количество реально используемых ресурсов приблизиться к максимально допустимому уровню.

Задание 21

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте свой класс, объекты которого будут занимать много места в памяти (например, в коде класса будет присутствовать большой массив) и реализуйте для этого класса, формализованный шаблон очистки.

Задание 22

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Выучите описание шаблона Template method (Шаблонный метод).
Обратите внимание на применимость шаблона, а также на состав его участников и связи отношения между ними.
Напишите небольшую программу на языке C#, представляющую собой абстрактную реализацию данного шаблона.

Задание 23

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте консольное приложение, которое в различных потоках сможет получить доступ к 2-м файлам.
Считайте из этих файлов содержимое и попытайтесь записать полученную информацию в третий файл.
Чтение/запись должны осуществляться одновременно в каждом из дочерних потоков.
Используйте блокировку потоков для того, чтобы добиться корректной записи в конечный файл.

Задание 24

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Используя конструкции блокировки, создайте метод, который будет в цикле for (допустим, на 10 итераций) увеличивать счетчик на единицу и выводить на экран счетчик и текущий поток.
Метод запускается в трех потоках.
Каждый поток должен выполниться поочередно, т.е. в результате на экран должны выводиться числа (значения счетчика) с 1 до 30 по порядку, а не в произвольном порядке.

Задание 25

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Преобразуйте пример событийной блокировки таким образом, чтобы вместо ручной обработки использовалась автоматическая.

Задание 26

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте приложение, которое может быть запущено только в одном экземпляре (используя именованный Mutex).

Задание 27

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте Semaphore, осуществляющий контроль доступа к ресурсу из нескольких потоков.
Организуйте упорядоченный вывод информации о получении доступа в специальный *.log файл.

Задание 28

Используя Visual Studio, создайте проект по шаблону ConsoleApplication.
Создайте консольное приложение, в котором организуйте асинхронный вызов метода.
Используя конструкцию BeginInvoke передайте в поток некоторую информацию.

About

A set of tasks in C# at a professional level.

Resources

License

Stars

Watchers

Forks

Languages