Trong C # chẳng hạn, mảng có thuộc tính Độ dài. Nhưng các loại bộ sưu tập khác như danh sách, vv có thuộc tính Count. Có một lý do tại sao hai người này là khác nhau? Nếu vậy tôi muốn biết.
Trong C # chẳng hạn, mảng có thuộc tính Độ dài. Nhưng các loại bộ sưu tập khác như danh sách, vv có thuộc tính Count. Có một lý do tại sao hai người này là khác nhau? Nếu vậy tôi muốn biết.
Câu trả lời:
Chúng được đặt tên khác nhau vì về mặt ngữ nghĩa chúng khá khác nhau:
Số lượng bộ sưu tập là số lượng vật phẩm hiện được lưu trữ trong đó và có khả năng thay đổi theo thời gian.
Độ dài của một mảng là số lượng vật phẩm tối đa nó có thể giữ (nó sẽ có chiều dài là 10 ngay cả khi bạn không lưu trữ nhiều vật phẩm trong đó) và không thay đổi.
Thí dụ:
Nếu tôi có một cái xô có thể chứa tối đa 100 quả bóng trong đó thì nó có Chiều dài 100. Nếu tôi đặt 50 quả bóng vào đó thì nó có Đếm là 50.
Nếu tôi thêm 10 quả bóng nữa, Đếm trở thành 60 nhưng Độ dài vẫn là 100. Để thay đổi Độ dài, tôi cần lấy một thùng khác.
Mảng có thể sử dụng từ Độ dài vì dưới mui xe, nó phân bổ một khối liền kề (độ dài) bộ nhớ dựa trên dung lượng nhân với kích thước của vật phẩm. Mặc dù thực tế là lớp List sử dụng "Dung lượng" cho một khái niệm tương tự (mặc dù có thể thay đổi) cho thấy mảng có thể sử dụng từ "Độ dài" vì lý do lịch sử.
T[]
có độ dài N luôn lưu trữ chính xác N giá trị của loại T
. Về mặt ngữ nghĩa, không phải tất cả các giá trị đó có thể có ý nghĩa (chúng có thể là null
ví dụ), nhưng chúng tồn tại. Điều này khác với ý nghĩa thông thường của năng lực ( List<T>
ví dụ như được sử dụng ). Bạn đúng mà Count
có thể thay đổi trong khi Length
không thể. Sau đó, một lần nữa, không có gì bắt buộc Count
sẽ, trong thực tế, thay đổi. Nó cũng được sử dụng cho các bộ sưu tập bất biến.
count
-perperty.