Vì .NET không sử dụng kiểu C null
s để kết thúc chuỗi, làm cách nào để giữ chuỗi được phân bổ nhưng thay đổi độ dài của chuỗi bằng cách sử dụng mã không an toàn?Mã không an toàn để thay đổi độ dài (do đột biến!) Của đối tượng String?
Khi tôi hiểu .NET sử dụng tiêu đề 20 byte cho mỗi chuỗi, có lẽ đây là nơi độ dài của chuỗi được lưu trữ, có cách nào để sửa đổi trực tiếp độ dài này không? Vì vậy, NET sẽ giữ cho chuỗi trong bộ nhớ nhưng khi tôi gọi .Length
nó sẽ trả lại .Length
Tôi muốn.
nếu điều này là có thể, cũng sẽ rất thú vị khi nghe tất cả các khả năng tác dụng phụ điên này
CẬP NHẬT
Tôi đang cố gắng thực hiện điều này mà không sử dụng phản ánh.
Lưu ý rằng Net chuỗi là null-chấm dứt. – SLaks
Bạn cần làm gì để làm điều đó? – Jacob
@jacob một số thử nghiệm ác về quản lý bộ nhớ :) Cố gắng phân bổ một phần lớn bộ nhớ và tái sử dụng nó liên tục mà không cần tránh sự phân mảnh LOH. –