Reikalavimai: Pastaruoju metu, žvelgdamas į tokias žinias<T> kaip "Span" ir "Memory<T>", manau, kad tokių objektų naudojimas turi daug privalumų, tokių kaip: tiesioginė prieiga prie atminties (ir labai saugi), nereikalingo atminties paskirstymo sumažinimas (priklausomai nuo scenos, pvz., eilutės konvertavimo perėmimas), atminties reikšmių modifikavimas ir vis dar mokymasis, o ne gilus supratimas.
System.Span<T> yra naujas reikšmės tipas .NET branduolyje. Ji palaiko gretimos savavališkos atminties srities atvaizdavimą, nesvarbu, ar ta atmintis yra susieta su valdomu objektu, kurį teikia vietinis kodas per interop, ar yra rietuvėje. Tai daro užtikrindama saugią prieigą, o našumo charakteristikos panašios į masyvų. Naudojant "Span" užtikrina atminties ir duomenų saugumą be jokių papildomų išlaidų.
Pavyzdžiui, jei naudosime Substring, kad konvertuotume eilutę į int, guid, long ir kt., Mes nebenaudosime perimtos eilutės turinio, bet iškvietus Substring, kad grąžintume naują eilutę, paprašysime naujos atminties vietos.
Pirma, pristatomas "BenchmarkDotNet" lyginamosios analizės įrankis:
Bandymo kodas yra toks:
Rezultatai yra tokie:
Nuoroda:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
|