tôi có các mảng sau:Xác định số lượng byte được sử dụng bởi một biến
byte[][] A = new byte[256][];
Mỗi phần tử của mảng này tham chiếu mảng khác.
A[n] = new byte[256];
Tuy nhiên, hầu hết các phần tử tham chiếu cùng một mảng. Trong thực tế, mảng A chỉ tham chiếu hai hoặc ba mảng duy nhất.
Có cách nào dễ dàng để xác định bộ nhớ sử dụng toàn bộ bộ nhớ?
Cũng cần kiểm tra null: (a.Distinct() Trường hợp (aa => aa = null) .Sum (aa => aa.Length) * sizeof (byte).!) Dump();. – Rob
@Rob: Cảm ơn, đã lưu ý. – Ani
Cảm ơn. (Nice code, BTW.) Tôi đang viết một thuật toán tìm kiếm Boyer-Moore và xem các bảng nhiều giai đoạn để giảm lượng bộ nhớ được sử dụng cho bảng shift và các ký tự Unicode. Nó hoạt động nhưng tôi không biết tôi đang tiết kiệm bao nhiêu bộ nhớ. Vì vậy, tôi cũng quan tâm đến các byte được sử dụng bởi A ngoài các mảng được tham chiếu. Tôi đoán của nó 4 hoặc 8 byte cho mỗi mục (tùy thuộc vào nếu 32 hoặc 64-bit xây dựng). Nó không giống như C# có thể cho tôi biết điều đó. –