2010-06-25 43 views
5

Trong C# là các lớp tĩnh được cấp phát không?phân bổ lớp tĩnh

Vì chúng không thể được khởi tạo, tôi đoán rằng nó phải được thực hiện như thế nào.

+0

Nếu/vì chúng không được khởi tạo, thì không có trường hợp nào được phân bổ. – ChrisW

+2

Tại sao bạn phân bổ thứ gì đó trên cửa hàng tạm thời * không phải là tạm thời *? Ngăn xếp, hay còn gọi là cửa hàng tạm thời, là để phân bổ những thứ mà * biến mất *. Nhưng các lớp tĩnh không bao giờ biến mất. –

+0

@ChrisW: Vậy thì các trường tĩnh của lớp tĩnh tồn tại ở đâu? –

Trả lời

10

Chúng được lưu trữ bên trong vùng được gọi là Heap tần số cao. Bạn có thể tìm thêm chi tiết trong bài viết này. Static Keyword Demystified

5

Sự hiểu biết của tôi là các lớp tĩnh được cấp phát trên heap (sử dụng hàm tạo tĩnh, khi kiểu được khởi tạo).

Nếu chúng ở trên ngăn xếp, bạn sẽ hết dung lượng ngăn xếp rất nhanh, nếu bạn có nhiều lớp tĩnh đá xung quanh.

Các vấn đề liên quan