
- •12. Фундаментальные принципы ооп
- •13. Методы
- •14. Конструкторы и деструкторы
- •15. Структуры и перечисления
- •16. Свойства и поля класса
- •18. Анонимные типы
- •20. Расширяющие методы.
- •19. Перегрузка операций в классе. Явное и неявное преобразование типов. Ограничения на преобразование типов.
- •17. Статические поля, методы, конструкторы, классы.
- •2. Типы данных
- •3. Базовые типы
- •Унарные операции Можно определять в классе следующие унарные операции:
- •Бинарные операции
- •5.Выражения (порядок их вычисления, тип результата, оператор присваивания).
- •6.Операторы ветвления (if, switch, case, break , goto case).
- •Оператор break
- •Оператор goto-оператор безусловного перехода. Когда в программе встречается оператор goto, ее выполнение переходит непосредственно к тому месту, на которое указывает этот оператор.
- •7. Операторы цикла (for, while, do-while, foreach, break continue).
- •8. Обработка исключений (операторы обработки исключений, класс Exception, создание объектов Exception, захват исключения, последовательность обработки исключений, классы Debug и Trace)
- •9. Массивы (одномерные, многомерные и ступенчатые массивы, класс Array).
- •Многомерные массивы
- •Ступенчатые массивы
- •10. Создание и подключение сборок. Пространства имен (ключевые слова using, namespace)
- •11. Сложение:
- •14. Структурные блоки платформы .Net: cli, clr, cls, cts.
- •17. Таблица приоритетов операций, соответствующая Common Language Specification (cls)
- •21. Интерфейс программирования приложений WinForms.
- •22. Интерфейс программирования приложений wpf.
- •24.Кодирование символов (ascii, utf, utf-8, utf-16)
- •3.Вопросы по c# часть 1
- •22 Делегаты
- •23 События
- •24 Наследование классов
- •25 Интерфейсы
- •26 Шаблоны и интерфейс iEnumerable
- •27 Динамический тип данных
- •Статический класс Environment.
- •2) Класс DriveInfo.
- •3) Классы для работы с каталогами (папками) (System.Io.Directory, System.Io.DirectoryInfo)
- •9.2.3. Создание подпапок с помощью класса DirectoryInfo
- •9.3. Работа с классом Directory
- •9.4. Работа с классом DriveInfo
- •Классы для работы с файлами (System.Io.File, System.Io.FileInfo).
- •9.1. Абстрактный базовый класс FileSystemInfo
9.3. Работа с классом Directory
Возможности класса Directory во много аналогичны возможностям класса DirectoryInfo. Однако класс Directory является статическим классом и не позволяет создавать объекты, а только позволяет вызывать его методы. Кроме этого отметим, что элементы Directory обычно возвращают строки (string), а не объекты конкретных типов, таких, как FileInfo или DirectoryInfo.
В примере приведенном ниже показано использование класса Directory для вывода не экран название всех устройств компьютера (с помощью статического метода GetLogicalDrives()) и для удаления ранее созданной папки с именем \MyFolder помощью статического метода Delete():
// Перечисление всех драйверов компьютера
string[] drives = Directory.GetLogicalDrives();
Console.WriteLine("Драйверы компьютера:");
foreach (string s in drives)
Console.WriteLine("--> {0} ", s);
// Удаление папки С:\MyFolder
try {Directory.Delete(string.Format(@"C:\MyFolder"));}
catch (IOException e) { Console.WriteLine(e.Message); }
9.4. Работа с классом DriveInfo
В пространстве имен System.IO содержится класс с именем DriveInfo. Так же, как и Directory.GetLogicalDrives(), стати-ческий метод DriveInfo.GetDrives() позволяет получить имена драйверов компьютера. Однако в отличие от Directo-ry.GetLogicalDrives(), DriveInfo предоставляет множество других данных (такие как тип драйвера, свободное место, метки тома и т.п.). Рассмотри следующий пример:
// Получение информации обо всех драйверах
DriveInfo[] myDrives = DriveInfo.GetDrives();
// Вывод на экран их данных
foreach(DriveInfo d in myDrives) {
Console.WriteLine("Имя: {0}", d.Name);
Console.WriteLine("Тип: {0}", d.DriveType);
// проверка, смонтирован ли драйвер
if (d.IsReady) {
Console.WriteLine("Свободное место: {0}",
d.TotalFreeSpace);
Console.WriteLine("Формат: {0}", d.DriveFormat);
Console.WriteLine("Метка: {0}", d.VolumeLabel);
Console.WriteLine(); } }
Классы для работы с файлами (System.Io.File, System.Io.FileInfo).
При разработке реальных приложений обязательным является хранение данных на устройствах внешней памяти для поддержки связи между сеансами работы с приложением. В библиотеку платформы .Net – FCL имеется пространство имен System.IO содержащее набор классов для работы с папками (директориями, каталогами) и файлами на внешних устройствах. В это пространство имен включены классы Directory и File, которые содержат методы для создания, удаления, копирования и перемещения папок и файлов с помощью статических методов. С этими классами тесно связаны классы FileInfo и DirectoryInfo, которые содержат аналогичную функциональность, но используют методы экземпляров класса (поэтому, для работы с ними должны быть созданы объекты этих классов с помощью операции new). Классы FileInfo и DirectoryInfo являются производными от абстрактного класса FileSystemInfo. Классы FileInfo и DirectoryInfo лучше использовать для получения всех детальных описаний файлов и папок (например, время их создания, возможности чтения/записи, и т.п.), так как методы этих классов возвращают строго типизированные объекты. А методы классов Directory и File чаще возвращают простые строковые значения, а не строго типизированные объекты.