Глава 16. Файловый ввод-вывод
351
GetDirectories()
— возвращает массив объектов типа
DirectoryInfo
,
представляющих все подкаталоги в текущем каталоге;
GetFiles()
— возвращает массив объектов типа
FileInfo
, представ-
ляющих все файлы в заданном каталоге;
MoveTo()
— перемещает каталог со всем его содержимым по задан-
ному пути;
Parent
— извлекает родительский каталог данного каталога;
Root
— выдает корневую часть пути к данному каталогу.
Так как нам придется работать с путями к каталогам, а эти пути могут
состоять из большого множества имен каталогов и подкаталогов, и пути
задаются как строковые параметры методов, то возникает проблема, как
сократить написание строкового литерала, который представляет путь.
Дело в том, что разделитель
\
имен каталогов в записи пути должен
иметь двойной обратный слеш (
\\
), который потом компилятор рас-
шифрует как одинарный (та же история, что и с двойными кавычками,
когда некий строковый литерал надо выделить кавычками, а он уже на-
ходится в другом строковом литерале, и приходится выделять такой
двойными кавычками, которые потом компилятор расшифрует как оди-
нарные). А все потому, что одинарный обратный слеш (косая черта) —
это признак начала управляющей последовательности (вспомните
запись
\n
,
\t
). Чтобы отличить разделитель между именами каталогов
от начала управляющей последовательности, надо писать двойной об-
ратный слеш. Это очень утомительная и изобилующая ошибками рабо-
та. В C# имеется специальный символ
@
, который упрощает дело. Если
посмотреть с более общих позиций, то несмотря на то что в С# нельзя
использовать ключевые слова в качестве идентификаторов, любое клю-
чевое слово можно "превратить" в допустимый идентификатор, предва-
рив его символом
@
. Например, идентификатор
@for
вполне пригоден
для употребления в качестве допустимого C#-имени. Интересно, что в
этом случае идентификатором все-таки является слово
for
, а символ
@
попросту игнорируется. Однако (за исключением специальных случаев)
использование ключевых слов в качестве
@
-идентификаторов не реко-
мендуется. Кроме того, символ
@
может стоять в начале любого иденти-
фикатора (а не только созданного из ключевого слова), но это также не
считается хорошим стилем программирования.
Буквальный
строковый
литерал
(так он называется) начинается с сим-
вола
@
, за которым следует строка, заключенная в кавычки. Содержимое
строки в кавычках принимается без какой бы то ни было модификации
и может занимать две строки или более. То есть при записи пути как
352
Do'stlaringiz bilan baham: |