
- •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
2) Класс DriveInfo.
Работа с классом 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();
}
}
3) Классы для работы с каталогами (папками) (System.Io.Directory, System.Io.DirectoryInfo)
Работа с классом DirectoryInfo
Класс DirectoryInfo содержит набор методов для создания, перемещения, удаления и выполнения перечисления всех папок и подпапок. В данном классе к функциональности базового класса FileSystemInfo добавлены следующие основные возможности (табл. 9.2).
Таблица 9.2.
Основные элементы класса DirectoryInfo Элементы |
Описание |
Create(), CreateSubdirectory() |
создание папки (или набора подпапок) с использованием заданного имени; |
Delete() |
удаление папки и всего ее содержания; |
GetDirectories() |
получение массива срок, которые содержат названия всех подпапок текущей папки; |
GetFiles() |
получение массива объектов типа FileInfo, которые |
соответствуют файлам конкретной папки; |
|
MoveTo() |
перемещение папки и ее содержания в новое место; |
Parent |
получение объекта DirectoryInfo родительской папки для текущей папки. |
Root |
получение объекта DirectoryInfo для корневой папки текущей папки |
leInfo, каждый из которых соответствует одному файлу, расположенному в папке. Например:
DirectoryInfo dir =
new DirectoryInfo(@"C:\Windows\Web\Wallpaper");
// Получить все файлы с расширением *.jpg
FileInfo[] imageFiles = dir.GetFiles("*.jpg");
// Сколько файлов было найдено?
Console.WriteLine("Found {0} *.jpg files\n",
imageFiles.Length);
// Вывод на экран информацию о каждом файле.
foreach (FileInfo f in imageFiles) {
Console.WriteLine("File name: {0}", f.Name);
Console.WriteLine("File size: {0}", f.Length);
}
9.2.3. Создание подпапок с помощью класса DirectoryInfo
Для создания новых подпапок в текущей папке используется метода CreateSubdirectory(). При одном вызове этого метод за один раз создается одна или несколько вложенных подпапок. Например, для создания подпапки с именем MyFolder:
DirectoryInfo dir = new DirectoryInfo(".");
// создаем поддиректорию \MyFolder
DirectoryInfo myDataFolder =
dir.CreateSubdirectory("MyFolder");
// Создаем две вложенных поддиректории
dir.CreateSubdirectory(@"MyFolder2\Data");
Результатом работы метода CreateSubdirectory() является ссылка на объект класса DirectoryInfo, который соответствует созданной подпапке.