C#操作内存读写方法
短信预约 -IT技能 免费直播动态提醒
本篇内容主要讲解“C#操作内存读写方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作内存读写方法”吧!
C#操作内存读写方法是什么呢?让我们来看看具体的实例实现:
using System.Runtime.InteropServices; using System.Text; public class Function { //C#操作内存读写方法public static byte PtrToByte( int Ptr ) { byte b = Marshal.ReadByte( ( IntPtr ) Ptr ); return b; } public static char PtrToChar( int Ptr ) { byte b = Marshal.ReadByte( ( IntPtr ) Ptr ); return ( char ) b; } public static short PtrToShort( int Ptr ) { short b = Marshal.ReadInt16( ( IntPtr ) Ptr ); return b; } //C#操作内存读写方法public static ushort PtrToUShort( int Ptr ) { ushort b = ( ushort ) Marshal.ReadInt16( ( IntPtr ) Ptr ); return b; } public static int PtrToInt( int Ptr ) { int b = Marshal.ReadInt32( ( IntPtr ) Ptr ); return b; } public static uint PtrToUInt( int Ptr ) { uint b = ( uint ) Marshal.ReadInt32( ( IntPtr ) Ptr ); return b; } public static long PtrToLong( int Ptr ) { long b = Marshal.ReadInt64( ( IntPtr ) Ptr ); return b; } //C#操作内存读写方法 public static ulong PtrToULong( int Ptr ) { ulong b = ( ulong ) Marshal.ReadInt64( ( IntPtr ) Ptr ); return b; } // Convert an ip address stored an address to equivalent string value public static string GetPtrToIpAddr(int intPtr, int varlen) { int i = 0; StringBuilder sb = new StringBuilder(0,varlen*4); byte[] byx = new byte[varlen]; // ip address cann't have zero value C#操作内存读写方法 // ip address cann't have zero length C#操作内存读写方法if( ( intPtr == 0 ) || ( varlen == 0 ) ) return ""; Marshal.Copy( ( IntPtr ) intPtr , byx , 0 , varlen ); for( i = 0; i < varlen - 1; i ++ ) { sb.Append(byx[i]); sb.Append('.'); } sb.Append(byx[varlen - 1]); return sb.ToString(); } }
到此,相信大家对“C#操作内存读写方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341