tags:

views:

91

answers:

2

Hello,

I have a program that has a byte array that varies in size, but is around 2300 bytes. What I want to do is create a function that will create a new byte array, removing all bytes that I pass to it. For example:

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

I need a function that will remove any bytes equal to 0xFF and return me a new byte array.

Any help would be appreciated. I am using C#, by the way.

+5  A: 

You could use the Where extension method to filter the array:

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

or if you want to remove multiple elements you could use the Except extension method:

byte[] newArray = oldArray.Except(new byte[] { 0xff, 0xaa }).ToArray();
Darin Dimitrov
+1  A: 

Break the problem down:

Can you write code to copy from one array to another?

Can you write a conditional?

Can you allocate a new array?

If you are stuck on one of these then ask specifically about it.

djna