2011-10-27 15 views

Trả lời

13

Không, bạn không thể.

Điều này sẽ không hữu ích nếu được phép. CLR có giới hạn về kích thước tối đa của một đối tượng ở mức 2GB. Do đó, thậm chí không thể xây dựng một mảng có chỉ số long sẽ hữu ích.

+0

Tôi tin Mono sử dụng 64 bit int cho chỉ mục mảng. Tôi không chắc chắn nếu điều này có nghĩa là thực hiện List <> của họ là khác nhau mặc dù. –

+1

Danh sách có thể sử dụng một chiến lược khác để lưu trữ các mục của nó. Ví dụ, nó có thể sử dụng một số loại cấu trúc cây. – phoog

0

Bạn không thể thay đổi Danh sách khung <> giao diện, chỉ định loại đối số chỉ mục là int. Nhưng bạn có thể tạo loại của riêng bạn có chỉ số long.

Như JaredPar đã lưu ý, bạn không thể tạo một mảng đủ lớn để yêu cầu chỉ mục 64 bit. Nếu bạn muốn tạo một danh sách có thể lưu trữ rất nhiều mục, bạn sẽ phải sử dụng một số loại cấu trúc cây, hoặc mảng của mảng, hoặc một cái gì đó. Và bạn sẽ cần rất nhiều bộ nhớ!

-4

Bạn có thể có Danh sách sẽ giữ giá trị dài hoặc số lớn hơn 2,147,483,647.

List<long> list = new List<long>(); 

list.Add(3000000000) will work. 
Các vấn đề liên quan