Typy związane z pamięcią i zakresem

Począwszy od platformy .NET Core 2.1, platforma .NET zawiera wiele wzajemnie powiązanych typów, które reprezentują ciągły, silnie typizowany region dowolnej pamięci. Są one następujące:

System.Span<T>, System.Memory<T>i ich odpowiedniki readonly są zaprojektowane tak, aby umożliwić tworzenie algorytmów, które unikają kopiowania pamięci lub przydzielania na zarządzanym stercie więcej niż jest to konieczne. Tworzenie ich (za pośrednictwem Slice konstruktorów lub ich konstruktorów) nie wiąże się z duplikowaniem bazowych buforów: aktualizowane są tylko odpowiednie odwołania i przesunięcia, które reprezentują "widok" opakowanej pamięci.

Uwaga

W przypadku wcześniejszych struktur i Memory<T> są dostępne w pakiecie Span<T>System.Memory NuGet.

Aby uzyskać więcej informacji, zobacz System.Buffers przestrzeń nazw.

Praca z pamięcią i zakresem

Ponieważ typy związane z pamięcią i zakresem są zwykle używane do przechowywania danych w potoku przetwarzania, ważne jest, aby deweloperzy przestrzegali zestawu najlepszych rozwiązań podczas korzystania z Span<T>typów , Memory<T>i powiązanych. Te najlepsze rozwiązania opisano w wytycznych dotyczących użycia funkcji MemoryT<> i SpanT<>.

Zobacz też