21. C-sharp 15 17-12-2013

Created Tuesday 17 December 2013

  1. 2124 модуль 13 — кто хочет разобраться с индексерами
  2. Явная имплементация интерфейса достигается написанием имени интерфейса как префикса перед именем метода с точечной нотацией.
    1. Нужна, если имплементируются разные интерфейсы, у которых объявлены одноимённые методы с одной сигнатурой.
  3. Структура может имплементировать интерфейс, но не может наследовать
  4. IComparable — попробовать реализовать свой способ сортировки
  5. IComparer — тоже попробовать (20483, модуль 4)
    1. Проработать реализацию этих интерфейсов по учебнику и применить для сортировки планет и спутников по любому из трёх параметров.
  6. oodesign.com
  7. Курс 20483 модуль 5 урок 1 проработать, урок 2 просмотреть
  8. System.Exception — класс, используемый для исключительных ситуаций. Изучить по курсу, модуль 5 (не увлекаться, рутинная работа, делающаяся при рефакторинге, когда все основные задачи адекватно решены).
  9. Новый (старый) материал: 2956 — можно читать и пробовать
    1. Модуль 1 — применение системных типов и интерфейсов — изучить как повторение
    2. Модуль 2 — углублённое изучение работы с коллекциями
    3. Модуль 5 — работа с файлами, проходим сейчас
    4. Модуль 6 — сериализация данных
    5. Модуль 7 — делегаты и события
  10. Работа с файлами
    1. В работе будем пользоваться двумя типами файлов:
      1. Текстовыми
      2. Базами данных
    2. Работа с подсистемой ввода-вывода всегда быстрее работы с базой данных
    3. Текстовые файлы бывают 2х типов:
      1. Не структурированные (структура неизвестна)
        1. Единственная структура, на которую можно рассчитывать:
          1. Файлы состоят из строк:
            1. Строка это последовательность символов, заканчивающаяся символами переноса строки и возврата каретки (в Windows, в Linux нет вовзрата каретки).
            2. В таком случае файл можно читать построчно:
              1. Система чтения файлов построчно устроена так, что указатель строки не контролируется: он доходит до конца файла.
              2. Только один случай, когда нужно читать построчно (а не помещать весь в память):
                1. Если есть очень большой текстовый файл
              3. Строка поступила в память и файл должен освободиться
            3. System.IO
              1. File — static
                1. Рекомендуется для единичного чтения одного файла
              2. FileInfo — instance
                1. Extends FileSystemInfo
                2. Рекомендуется для множественного чтения множества файлов
              3. Directory
              4. DirectoryInfo
              5. Path
              6. Методы File, FileInfo:
                1. ReadAllText
                2. AppendText
                3. Create
                4. WriteAllText (also creates if not exists)
                5. Open
                6. CopyTo
                7. MoveTo
                8. Delete
                9. Replace
                10. Exists
              7. Методы Directory, DirectoryInfo...
              8. FileStream
                1. Close
            4. Блок Using можно использовать для доступа к ресурсам (важно, гуглить)
              1. Когда заканчивается блок, объект уничтожается (файл закрывается)
              2. Правильно использовать именно этот блок для доступа к ресурсам, включая файлы
  11. Ознакомиться с классами:
    1. DriveInfo
    2. DirInfo
    3. FileInfo
  12. Задача:
    1. С клавиатуры вводится логическое имя диска (С:), программа распечатывает иерархический список папок и файлов в ней, не обязательна рекурсия.



Backlinks: