Mục lục:
Định nghĩa - Iterator có nghĩa là gì?
Một trình vòng lặp, trong ngữ cảnh của C #, là một khối mã trả về một chuỗi các giá trị theo thứ tự của một tập hợp hoặc mảng. Đây là một hàm thành viên được triển khai bằng cách sử dụng khối iterator, chứa một hoặc nhiều câu lệnh chứa từ khóa "suất".
Trình lặp được sử dụng để cho phép người tiêu dùng của lớp container, chứa bộ sưu tập hoặc mảng, đi qua bộ sưu tập bằng cách sử dụng câu lệnh "foreach" theo cách đơn giản hơn. Nó được sử dụng với các lớp bộ sưu tập được gõ mạnh để lặp lại các cấu trúc dữ liệu phức tạp như cây nhị phân, đòi hỏi phải truyền qua đệ quy và duy trì trạng thái lặp thông qua đệ quy. Khái niệm iterator cũng được sử dụng trong việc thực hiện thực thi hoãn lại trong các truy vấn LINQ.
Techopedia giải thích Iterator
Trình lặp dựa trên một mẫu thiết kế cung cấp một phương thức để duyệt qua các phần tử của một bộ sưu tập các mục theo tuần tự mà không làm lộ cấu trúc cơ bản của bộ sưu tập. Nó loại bỏ nhiệm vụ tẻ nhạt khi thực hiện giao diện "IEnumerator" theo cách thủ công khi tạo các lớp bộ sưu tập hỗ trợ câu lệnh "foreach". Mã ngôn ngữ trung gian cần thiết để triển khai các phương thức và thuộc tính của giao diện IEnumerator được tạo bởi trình biên dịch, dẫn đến cú pháp đơn giản hơn, giảm kích thước mã và cải thiện năng suất của nhà phát triển.
Nói chung, một trình vòng lặp tương tự như một con trỏ cơ sở dữ liệu ở chỗ nó cung cấp quyền truy cập vào các phần tử dữ liệu trong một bộ sưu tập, nhưng không thực hiện phép lặp. Một trình vòng lặp có thể được thực hiện trong C # như một phương thức, toán tử hoặc có được trình truy cập. Ví dụ, một trình vòng lặp có thể được sử dụng để duyệt qua bộ sưu tập các chuỗi để hiển thị nội dung của từng chuỗi trong bộ sưu tập.
Trình lặp được đại diện bởi giao diện IEnumerator và được trình biên dịch triển khai với các phương thức sau:
- MoveNext: Một phương thức tiến tới phần tử tiếp theo của bộ sưu tập và cho biết sự kết thúc của bộ sưu tập đó
- Hiện tại: Một thuộc tính tìm nạp giá trị của phần tử hiện đang được trỏ đến
- Vứt bỏ: Dọn dẹp lặp đi lặp lại