Проверка целостности файловой системы при помощи утилит
Если нарушение целостности файловой системы все же произошло, то можно прибегнуть к помощи специализированных утилит (chkdsk, scandisk и др.). Они могут запускаться после загрузки или после сбоя и осуществляют многократное сканирование разнообразных структур данных файловой системы в поисках противоречий.
Наличие дефектных блоков на диске - обычное дело. Под "плохими" блоками обычно понимают блоки диска, для которых вычисленная контрольная сумма считываемых данных не совпадает с хранимой контрольной суммой. В NTFS применяется один из способов нейтрализации данной проблемы - конструирование файла, содержащего дефектные блоки. Для этого файла зарезервирована запись 8 в таблице MFT. В результате плохие блоки изымаются из списка свободных блоков и, следовательно, становятся недоступны для приложений.
Функции в С# - это средство, позволяющее выполнять некоторые участки кода в произвольном месте приложения.
Функции особого типа, которые мы будем рассматривать в настоящей главе, известны под названием методов.Однако при программировании в среде .NET этот термин имеет особое значение, которое станет понятным по мере изучения этой книги, поэтому на данный момент мы будем избегать его использования.
Например, мы можем написать функцию, которая осуществляет поиск максимального элемента массива. В результате появится возможность использовать эту функцию из произвольной точки программы, причем в каждом случае будут выполняться одни и те же строки кода. Поскольку мы должны написать этот код только один раз, то изменения, которые потребуется в него внести, повлияют на все вычисления, где бы этот код ни использовался. Такую функцию можно представить себе как повторно используемыйкод. Функции также обладают тем преимуществом, что они позволяют делать программу более удобочитаемой, и мы получаем возможность группировать вместе логически связанные между собой части программ. Поступая таким образом, можно сделать тело самого приложения небольшим, поскольку решение внутренних задач приложения будет осуществляться отдельно. Это напоминает способ, посредством которого в VS можно соединять различные участки кода, используя режим схематического просмотра программ (outline view), что позволяет придать приложению более логичную структуру. Функции могут также использоваться для создания многоцелевыхпрограмм, которые выполняют одни и те же операции над различными данными. Мы имеем возможность передавать функциям информацию, с которой они должны работать, в виде параметров и получать результаты работы функции в виде возвращаемых значений.В приведенном выше примере можно передать функции в качестве параметра массив, в котором осуществляется поиск, и получить элемент массива с максимальным значением в качестве возвращаемого значения. Отсюда следует, что мы можем каждый раз использовать одну и ту же функцию для работы с различными массивами. Параметры и возвращаемое значение функции вместе называются сигнатуройфункции.