在c#中有一种方法可以序列化和反序列化指针吗?

本文关键字:序列化 反序列化 指针 方法 一种 | 更新日期: 2023-09-27 18:04:29

是否可以序列化或反序列化任何指针?假设我有一个如下的类

  public unsafe class Class001
  {
        public byte* pointer;
        public Class001()
        {
            var byteArr = new byte[] {12, 54, 20};
            fixed(byte* ptr = byteArr)
            {
                pointer = ptr;
            }
         }
   }

我可以将指针的十六进制值存储在文件中并通过读取文件使用反射重建它吗?

我使用序列化/反序列化这个词只是为了表示在文件中保存一些值并稍后重建它,它不需要是任何标准的序列化过程。

在c#中有一种方法可以序列化和反序列化指针吗?

绝对不行!指针是对特定内存位置的引用。您可能确实序列化了该特定内存地址的十六进制值,但是当您反序列化它时,该内存地址肯定会包含完全不同的内容。