Cerințe: Recent, analizând<T> cunoștințe precum Span și Memory<T>, consider că există multe avantaje în utilizarea acestor obiecte, cum ar fi: acces direct la memorie (și foarte sigur), reducerea alocării inutile de memorie (în funcție de scenă, de exemplu, interceptarea substringurilor a conversiei stringurilor), modificarea valorilor în memorie și totuși învățarea, nu o înțelegere atât de profundă.
System.Span<T> este un nou tip de valoare în nucleul .NET. Suportă o reprezentare a unei regiuni contigue de memorie arbitrară, indiferent dacă acea memorie este asociată cu un obiect gestionat, furnizată prin cod nativ prin interoperare, sau se află în stivă. Face acest lucru oferind în același timp acces securizat, cu caracteristici de performanță similare cu cele ale array-urilor. În utilizare, Span asigură securitatea memoriei și a datelor cu un cost minim sau inexistent.
De exemplu, dacă folosim Substring pentru a converti un șir în tipul int, guid, long etc., nu vom mai folosi conținutul șirului interceptat, dar apelarea Substringului pentru a returna un nou șir va solicita spațiu de memorie nou.
În primul rând, este introdus instrumentul de benchmarking BenchmarkDotNet, după cum urmează:
Codul testului este următorul:
Rezultatele sunt următoarele:
Referință:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
|