C # повтор данных, сброс на границе - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь записать несколько повторных данных в байтовый массив, это выглядит так:

byte[] bytes = Encoding.ASCII.GetBytes("UNKNOWN");

int count = 0;
for (int i = 0; i < several_MB_worth_of_bytes; i++)
{   
    output[i] = bytes[count];
    count++;
    if (count >= bytes.Length) count = 0;
}

Это работает, однако мне нужно сбросить переменную count, если я записал ровно 1 МБзначение байтов, поэтому следующий байт после границы в 1 МБ будет первым 'U' в строке.Это должно происходить на каждой границе МБ.

Я не могу понять, как лучше всего справиться со сбросом.Я взглянул на библиотеку ByteSize для .net, но я все еще не уверен, как это мне поможет.

1 Ответ

0 голосов
/ 08 октября 2018

Вы можете проверить, является ли i кратным 1 МБ внутри того же оператора if, где вы сбрасываете счетчик:

if (count >= bytes.Length || i % (1024*1024) == 0) count = 0;
...