ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
- Просмотров: 1111
- Автор: КазКиберГетик
Урок 55. Перечисление FileAttributes
Категория: Программирование » C# » Уроки C#
С помощью перечисления FileAttributes задаются атрибуты для файлов и папок. Вот наиболее важные значения этого перечисления:
Directory – определяет, не есть ли объект папка.
Hidden – определяет, не является ли объект (папка или файл) скрытым.
ReadOnly – определяет, не имеет ли файл атрибут “только для чтения”.
Normal – определяет, что для файла не установлены любые другие атрибуты. Данный элемент перечисления не может комбинироваться с другими элементами этого же перечисления.
System – определяет, не являетя ли файл системным.
Archive – определяет, не является ли файл архивным.
Compressed – определяет, не является ли файл сжатым файлом.
А вот использование этого перечисления:
DirectoryInfo di = new DirectoryInfo("c:\\tmp\\tmp2");
// Присваиваем атрибут "Только для чтения".
di.Attributes |= FileAttributes.Hidden;
// Получаем атриубты файла.
FileAttributes fi = di.Attributes;
// Выясняем, есть ли у папки атрибут Hidden.
if((fi & FileAttributes.Hidden) == FileAttributes.Hidden)
{
Console.WriteLine("Hidden");
}
// Выясняем, есть ли у папки атрибут ReadOnly.
if((fi & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
Console.WriteLine("ReadOnly");
}
Обратите внимание на то, как мы определяем присутствие некоторого атрибута:
...
if((fi & FileAttributes.Hidden) == FileAttributes.Hidden)
...
Если мы напишем просто
if(fi == FileAttributes.Hidden) // Логический ошибка!
...
то наш фрагмент выдаст правильный результат только тогда, когда атрибут Hidden будет у нашей папки единственным. А так как обычно атрибутов несколько, то надо использовать первый вариант.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




