Các phạm vi mảng C#

Các phạm vi mảng C#

Bạn cũng có thể bắt một bản sao của một khu vực hay phạm vi bên trong một mảng với toán tử range (..):

int[] firstThreeScores = scores[0..3];

Với các mảng, cái này tạo một bản sao. Thực hiện một thay đổi trong firstThreeScores sẽ không ảnh hưởng mảng scores
gốc.
Các số trên phạm vi xứng đáng một thảo luận ngắn. Số đầu tiên là chỉ mục để bắt đầu tại. Số thứ hai là chỉ mục để kết
thúc tại, nhưng nó không bao gồm trong bản sao. 0..3 sẽ nhặt các phần tử tại các chỉ mục 0.1 và 2, nhưng không phải
3.
Các số này có thể là bất cứ biểu thức int nào, và bạn cũng có thể sử dụng ^ để chỉ mục hóa từ cuối. Ví dụ, code này
tạo một bản sao của mảng ngoại trừ cho vật đầu tiên và cuối cùng:

int[] theMiddle = scores[1..^1];

Nếu điểm kết thúc của bạn là trước điểm bắt đầu của bạn, chương trình của bạn sẽ crash, nên bạn sẽ muốn đảm bảo
rằng cái này không xảy ra.
Bạn cũng có thể bỏ đi một trong cuối (hoặc cả hai cuối) để sử dụng một mặc định của bắt đầu hay kết thúc mảng. Ví
dụ, scores[2..] tạo một bản sao của toàn bộ mảng ngoại trừ 2 cái đầu tiên.

Chia sẻ