C# Pointer指针应用实例简述
本文所述为在C#中使用Pointer指针的简单示例,非常适合新手参考学习。该实例演示了字符串的加密及解密的过程,将字符串指针p指向字符数组b,并将参数p传给函数,以及对给定字符串进行加密处理。
具体实例代码如下:
usingSystem; namespacePointerDemo { publicclassPointerDemo { publicstaticvoidMain() { strings="HelloCsharp!";//原字符串 Console.Write("theoriginalstring:"); Console.WriteLine("{0}\r\n",s); char[]b=newchar[100]; s.CopyTo(0,b,0,13); Console.Write("theencodedstring:"); //使用不安全代码 unsafe { //加密过程 //将字符串指针p指向字符数组b,并将参数p传给函数 fixed(char*p=b)NEncodeDecode(p); } for(inti=0;i<13;i++) Console.Write(b[i]); Console.WriteLine("\r\n"); Console.Write("thedecodedstring:"); unsafe { //解密过程 fixed(char*p=b)NEncodeDecode(p); } for(inti=0;i<20;i++) Console.Write(b[i]); intt=2; t=t^5; Console.WriteLine(t); Console.WriteLine(); } //对给定字符串进行加密处理 unsafepublicstaticvoidNEncodeDecode(char*s) { intw; for(inty=0;y<13;y++) { w=(int)*(s+y); w=w^5;//异或运算 *(s+y)=(char)w; } } } }