Prasības: Nesen, aplūkojot<T> tādas zināšanas kā Span un Memory<T>, es uzskatu, ka šādu objektu izmantošanai ir daudz priekšrocību, piemēram: tieša piekļuve atmiņai (un ļoti droša), nevajadzīgas atmiņas piešķiršanas samazināšana (atkarībā no ainas, piemēram, virknes pārveidošanas apakšvirknes pārtveršana), vērtību modificēšana atmiņā un joprojām mācīšanās, nevis padziļināta izpratne.
System.Span<T> ir jauns vērtību tips .NET kodolā. Tas atbalsta patvaļīgas atmiņas blakus esoša reģiona attēlojumu, neatkarīgi no tā, vai šī atmiņa ir saistīta ar pārvaldītu objektu, ko nodrošina vietējais kods, izmantojot interopāciju, vai ir stekā. Tas tiek darīts, vienlaikus nodrošinot drošu piekļuvi, ar veiktspējas raksturlielumiem, kas līdzīgi masīviem. Lietojot, Span nodrošina atmiņas un datu drošību ar nelielām vai bez pieskaitāmām izmaksām.
Piemēram, ja mēs izmantojam apakšvirkni, lai pārvērstu virkni, lai rakstītu int, guid, long utt., mēs vairs neizmantosim pārtverto virknes saturu, bet, izsaucot apakšvirkni, lai atgrieztu jaunu virkni, tiks pieprasīta jauna atmiņas vieta.
Pirmkārt, tiek ieviests BenchmarkDotNet salīdzinošās novērtēšanas rīks šādi:
Testa kods ir šāds:
Rezultāti ir šādi:
Atsauce:
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
|