.NETはCスタイルnull
を使用して文字列を終了します。どのようにして割り当てられた文字列を保持できますか?安全でないコードを使用して長さを変更できますか?Stringオブジェクトの長さを変更するための安全でないコード(突然変異!)
すべての文字列に20バイトのヘッダーを使用して.NETを理解しているので、おそらくこれは文字列の長さが格納されている場所です。この長さを直接変更するにはどうしますか? .NETは文字列をメモリに保持しますが、.Length
を呼び出すと、.Length
が返されます。これが可能であれば
、また、私がリフレクションを使用せずにこれを実現しようとしている。この
UPDATE
のすべての狂気の可能な副作用を聞くために興味深いものになるだろう。
。 – SLaks
これは何のために必要なのですか? – Jacob
@jacobメモリ管理に関するいくつかの悪い実験:) LOHの断片化を避けるために、1つの大きなチャンクを割り当てて、それを絶えず再利用しようとしています。 –