这会覆盖我的字符串的内容:
unsafe
{
fixed (char* chars = str)
{
for (int i = 0; i < str.Length; i++)
chars[i] = '1';
}
}
背景是我正在使用NetworkCredientials,您在其中使用普通的 old 设置密码System.String
。如果可能的话,我想在之后“清除它”。欢迎任何有关如何执行此操作的建议,但主要问题是了解是否fixed
真的可以让我访问底层 char 数组。谢谢!
编辑
我想了解这里发生了什么- 如果字符串对象是不可变的,并且fixed
不让对象移动,那么发布的代码中发生了什么?这些字符被写入哪里?