Как удалить байты из байтового массива - PullRequest
5 голосов
/ 17 октября 2010

У меня есть программа, у которой есть байтовый массив, размер которого варьируется, но составляет около 2300 байт. Я хочу создать функцию, которая создаст новый байтовый массив, удалив все байты, которые я ему передам. Например:

byte[] NewArray = RemoveBytes(OldArray,0xFF);

Мне нужна функция, которая удалит все байты, равные 0xFF, и вернет мне новый байтовый массив.

Любая помощь будет оценена. Кстати, я использую C #.

Ответы [ 2 ]

15 голосов
/ 17 октября 2010

Вы можете использовать метод расширения Где для фильтрации массива:

byte[] newArray = oldArray.Where(b => b != 0xff).ToArray();

или если вы хотите удалить несколько элементов, вы можете использовать расширение Кроме Метод:

byte[] newArray = oldArray.Except(new byte[] { 0xff, 0xaa }).ToArray();
0 голосов
/ 17 октября 2010

Разбей проблему:

Можете ли вы написать код для копирования из одного массива в другой?

Можешь написать условное?

Можете ли вы выделить новый массив?

Если вы застряли на одном из них, спросите об этом конкретно.

...