c# bietet effiziente Methoden zum Extrahieren von Teilen von Byte -Arrays, einem Prozess, der als Array Slicing bekannt ist. Diese Technik vermeidet unnötiges Datenkopieren, Verbesserung der Leistung.
arraySegment
Die arraySegment
Klasse bietet eine leichte Möglichkeit, einen Teil eines Arrays darzustellen. Es ist ideal, um zu schneiden, ohne ein neues Array zu erstellen und so Gedächtnis zu erhalten.
byte[] foo = new byte[4096];
var slice = new ArraySegment(foo, 0, 40);
Dies erstellt Slice
, die die ersten 40 Bytes von foo
.
iEnumerable
um das geschnittene Array zu iterieren, konvertieren Sie die ArraySegment
in an eine iEnumerable
mit der asenumerable ()
Erweiterungsmethode (verfügbar in .net 3.5 und später):
IEnumerable sliceAsEnumerable = slice.AsEnumerable();
iEnumerable
linq-basierte Slicing
IEnumerable slicedBytes = foo.Take(40);
iEnumerable
Dies ergibt auch ein
iEnumerable
Zusammenfassung
c# Bietet flexible Array -Slicing über
arraySegment
take () für präzisen Code. Beide sind wertvolle Tools für die Handhabung von Array -Segmenten, insbesondere in Anwendungen wie Netzwerkprogrammierung, bei denen eine effiziente Byte -Manipulation von entscheidender Bedeutung ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3