C # offre des méthodes efficaces pour extraire des parties des tableaux d'octets, un processus appelé tranchage de tableau. Cette technique évite la copie des données inutile, l'amélioration des performances.
ArraySegment
La classe ArraySegment
fournit un moyen léger de représenter une partie d'un tableau. Il est idéal pour trancher sans créer un nouveau tableau, conservant ainsi la mémoire.
byte[] foo = new byte[4096];
var slice = new ArraySegment(foo, 0, 40);
cela crée tranche
, représentant les 40 premiers octets de foo
.
ienumerable
pour itérer dans le tableau tranché, convertir le arraysegment
en un ienumerable
en utilisant le asenuableable ()
d'extension (disponible dans .net 3.5 et plus tard):
IEnumerable sliceAsEnumerable = slice.AsEnumerable();
SliceSenumerable
permet désormais une itération facile sur les octets sélectionnés.
Alternativement, la méthode de linq prends ()
offre un moyen concis pour obtenir le même résultat:
IEnumerable slicedBytes = foo.Take(40);
cela donne également un ienumerable
contenant les 40 premiers octets de foo
.
C # Fournit le tranchage de tableau flexible via arraysegment
pour l'efficacité de la mémoire et pour le code concis. Les deux sont des outils précieux pour gérer les segments de tableau, en particulier dans des applications telles que la programmation réseau où la manipulation efficace des octets est cruciale.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3