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;
}
}
}
}