Нет ничего плохого в вставленном вами коде. Возможно, ошибка где-то еще выше этого, и компилятор запутался?
Ах, я вижу, вы изменилиськод.
Проблема здесь в том, что вы объявляете массив Byte[]
вне блока , предназначенного using
.Так как область объявления как есть - только одна строка, это составляет логическую ошибку, и компилятор перехватывает ее с ошибкой времени компиляции.
Компилятор интерпретирует ваш код следующим образом:
using (var stream = new FileStream(drvFile, FileMode.Open, FileAccess.ReadWrite))
{
Byte[] bytes = System.Text.ASCIIEncoding.GetBytes(txtTotalSeasons.Text);
}
{
stream.Position = 4;
stream.WriteByte(0xCD);
}
Чтобы исправить это, переместите Byte[]
внутри фигурных скобок или за пределы блока using
:
using (var stream = new FileStream(drvFile, FileMode.Open, FileAccess.ReadWrite))
{
Byte[] bytes = System.Text.ASCIIEncoding.GetBytes(txtTotalSeasons.Text);
stream.Position = 4;
stream.WriteByte(0xCD);
}
-или-
Byte[] bytes = System.Text.ASCIIEncoding.GetBytes(txtTotalSeasons.Text);
using (var stream = new FileStream(drvFile, FileMode.Open, FileAccess.ReadWrite))
{
stream.Position = 4;
stream.WriteByte(0xCD);
}
Лично якак то, что компилятор раздражает меня, так как это спасает меня от ошибки времени выполнения.