Comment faire pour supprimer des octets à partir d'un tableau d'octets
J'ai un programme qui a un tableau d'octets qui varie en taille, mais est d'environ 2300 octets. Ce que je veux faire est de créer une fonction qui va créer un nouveau tableau d'octets, en supprimant tous les octets que je passe à elle. Par exemple:
byte[] NewArray = RemoveBytes(OldArray,0xFF);
J'ai besoin d'une fonction qui permet de supprimer tous les octets égal à 0xFF et m'a fait un nouveau tableau d'octets.
Toute aide serait appréciée. Je suis à l'aide de C#, par la manière.
si elle varie en taille, c'est plus une collection d'un tableau. Mais je comprends la nécessité d'utiliser des tableaux pour émuler la collection pour une utilisation avec les anciennes api.
OriginalL'auteur Icemanind | 2010-10-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le Où méthode d'extension pour filtrer le tableau:
ou si vous voulez supprimer plusieurs éléments, vous pouvez utiliser les Sauf méthode d'extension:
Remarque,
Except
est la différence. Si tous les octets restants est retourné qu'une seule fois. Dans mon cas,printData.Except(bytesToRemove).ToArray()
n'obtenez pas les résultats attendus, tandis queprintData.Where(e => bytesToRemove.All(b => b != e)).ToArray()
fonctionne très bien.OriginalL'auteur Darin Dimitrov
Diviser le problème:
Pouvez-vous écrire le code à copier à partir d'un tableau à l'autre?
Pouvez-vous écrire un conditionnel?
Peut vous allouer un nouveau tableau?
Si vous êtes coincé sur un de ceux-ci, de demander spécifiquement à ce sujet.
OriginalL'auteur djna