C# 读取内存信息指南:使用 Marshal 类
在 C# 中,可以使用 'Marshal' 类来读取内存中的信息。以下是一个示例代码,演示如何读取内存中的整数数据:
using System;
using System.Runtime.InteropServices;
class Program
{
static void Main()
{
// 申请一块内存空间,并将整数数据写入其中
int value = 12345;
IntPtr ptr = Marshal.AllocHGlobal(sizeof(int));
Marshal.WriteInt32(ptr, value);
// 从内存中读取整数数据
int readValue = Marshal.ReadInt32(ptr);
Console.WriteLine('Read value from memory: ' + readValue);
// 释放内存空间
Marshal.FreeHGlobal(ptr);
Console.ReadLine();
}
}
在上述示例中,首先使用 'Marshal.AllocHGlobal' 方法申请一块内存空间,并使用 'Marshal.WriteInt32' 方法将整数数据写入其中。然后使用 'Marshal.ReadInt32' 方法从内存中读取整数数据。最后使用 'Marshal.FreeHGlobal' 方法释放内存空间。
请注意,读取内存中的信息需要谨慎操作,确保读取的内存地址和数据类型正确,避免访问非法内存区域或造成内存泄漏等问题。
原文地址: https://www.cveoy.top/t/topic/o9Ri 著作权归作者所有。请勿转载和采集!