Nõuded: Hiljuti, vaadates selliseid<T> teadmisi nagu Span ja Memory<T>, tunnen, et selliste objektide kasutamisel on palju eeliseid, näiteks: otsene ligipääs mälule (ja väga turvaline), tarbetu mälu eraldamise vähendamine (sõltuvalt stseenist, nt stringi teisendamise alamstringi vaheltkuulamine), väärtuste muutmine mälus ning ikka õppimine, mitte sügav arusaam.
System.Span<T> on uus väärtustüüp .NET tuumas. See toetab järjestikku suvalise mälu piirkonna kujutamist, olenemata sellest, kas see mälu on seotud hallatava objektiga, antud natiivse koodiga läbi interop'i või on virnas. See teeb seda, pakkudes samal ajal turvalist ligipääsu, mille jõudlusomadused sarnanevad massiividele. Kasutamisel tagab Span mälu- ja andmeturvalisuse vähese või olematu lisakoormusega.
Näiteks, kui kasutame Alamstringi, et teisendada string tüübiks int, guid, long jne, siis me enam interceptitud stringi sisu ei kasuta, kuid Substringi kutsumine uue stringi tagastamiseks nõuab uut mäluruumi.
Esmalt tutvustatakse BenchmarkDotNet võrdlustööriista järgmiselt:
Testkood on järgmine:
Tulemused on järgmised:
Viide:
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.
|