Vaatimukset: Viime aikoina tarkastellessani tietoa<T> kuten Span ja Memory<T>, koen, että tällaisten olioiden käytössä on monia etuja, kuten: suora pääsy muistiin (ja erittäin turvallinen), tarpeettoman muistin varautumisen vähentäminen (riippuen kohtauksesta, esim. merkkijonon muunnoksen alimerkkijonon sieppaus), arvojen muokkaaminen muistissa ja silti oppiminen, ei kovin syvällinen ymmärrys.
System.Span<T> on uusi arvotyyppi .NET-ytimessä. Se tukee yhtenäisen mielivaltaisen muistialueen esitystä, riippumatta siitä, onko muisti liitetty hallittuun objektiin, toimitetaan natiivikoodilla interopin kautta vai onko se pinossa. Se tekee tämän samalla kun se tarjoaa turvallisen pääsyn, ja suorituskykyominaisuudet ovat samankaltaiset kuin taulukoissa. Käytössä Span varmistaa muistin ja datan turvallisuuden lähes ilman ylimääräistä kuormitusta.
Esimerkiksi, jos käytämme Substringiä muuntamaan merkkijonon tyypiksi int, guid, long jne., emme enää käytä siepattua merkkijonosisältöä, mutta Substringin kutsuminen uuden merkkijonon palauttamiseen pyytää uutta muistitilaa.
Ensiksi otetaan käyttöön BenchmarkDotNet-vertailutyökalu seuraavasti:
Testikoodi on seuraava:
Tulokset ovat seuraavat:
Viittaus:
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.
|