Span<T>
là một phần của System.Memory namespace trong C# và được giới thiệu từ C# 7.2 trở đi. Nó là một kiểu dữ liệu ánh xạ (memory-safe) cho phép bạn làm việc trực tiếp với dãy dữ liệu mà không cần sao chép dữ liệu đó. Span<T>
cho phép bạn thực hiện các thao tác trên mảng dữ liệu mà không cần tạo bản sao của nó, giúp tối ưu hóa hiệu suất và tiết kiệm bộ nhớ.
Cách sử dụng Span<T>
là như sau:
- Khởi tạo một
Span<T>
từ một mảng hoặc chuỗi dữ liệu:
int[] array = { 1, 2, 3, 4, 5 };
Span<int> span = new Span<int>(array);
- Thực hiện các thao tác trên
Span<T>
như bạn thao tác trên mảng thông thường:
span[2] = 42;
int sum = span.Slice(1, 3).Sum(); // Tính tổng các phần tử từ index 1 đến index 3
Span<T>
cũng hỗ trợ nhiều phương thức mạnh mẽ nhưSlice
,ToArray
,CopyTo
, và nhiều phương thức khác để thao tác với dữ liệu.
Span<T>
rất hữu ích khi bạn muốn làm việc với dữ liệu mà không muốn tạo bản sao của nó, giúp tối ưu hóa hiệu suất của ứng dụng của bạn, đặc biệt trong các tình huống yêu cầu xử lý dữ liệu nhanh chóng và hiệu quả.