private byte[] ЗаполнитьМассивРандомнымиЗначениями(int КолВоСекторов, Заполнители Заполнитель = Заполнители.андом) { byte[] Возврат = null; int азмерСектора = 512; Возврат = new byte[КолВоСекторов * азмерСектора]; if (Заполнитель == Заполнители.андом) { андом.NextBytes(Возврат); } return(Возврат); }
public void ОбнулитьСектора(long НачальныйСектор, long КонечныйСектор, Заполнители Заполнитель = Заполнители.андом) { long КолВоСекторов = КонечныйСектор - НачальныйСектор; long КолВоСектровЗаПроход = 5000; long КолВоПроходов = Convert.ToInt64(Math.Floor(Convert.ToDouble(КолВоСекторов / КолВоСектровЗаПроход))); for (var i = 0; i <= КолВоПроходов - 1; i++) { byte[] Байты = ЗаполнитьМассивРандомнымиЗначениями(Convert.ToInt32(КолВоСектровЗаПроход), Заполнитель); ЗаписатьСектор(ref Байты, НачальныйСектор + i * КолВоСектровЗаПроход); } long КолВоОставшихсяСекторов = КолВоСекторов - КолВоПроходов * КолВоСектровЗаПроход; byte[] ОставшиесяБайты = ЗаполнитьМассивРандомнымиЗначениями(Convert.ToInt32(КолВоОставшихсяСекторов), Заполнитель); ЗаписатьСектор(ref ОставшиесяБайты, НачальныйСектор + КолВоПроходов * КолВоСектровЗаПроход); }