C# Pointer指针应用实例简述

时间:2021-05-20

本文所述为在C#中使用Pointer指针的简单示例,非常适合新手参考学习。该实例演示了字符串的加密及解密的过程,将字符串指针p指向字符数组b,并将参数p传给函数,以及对给定字符串进行加密处理。

具体实例代码如下:

using System;namespace PointerDemo{ public class PointerDemo { public static void Main() { string s = "Hello Csharp!"; // 原字符串 Console.Write("the original string: "); Console.WriteLine("{0}\r\n", s); char[] b = new char[100]; s.CopyTo(0,b,0,13); Console.Write("the encoded string: "); // 使用不安全代码 unsafe { // 加密过程 // 将字符串指针p指向字符数组b,并将参数p传给函数 fixed(char *p = b) NEncodeDecode(p); } for(int i = 0; i < 13; i++) Console.Write(b[i]); Console.WriteLine("\r\n"); Console.Write("the decoded string: "); unsafe { // 解密过程 fixed(char *p = b)NEncodeDecode(p); } for(int i = 0; i < 20; i++) Console.Write(b[i]); int t = 2; t = t^5; Console.WriteLine(t); Console.WriteLine(); } // 对给定字符串进行加密处理 unsafe public static void NEncodeDecode(char *s) { int w; for(int y = 0; y < 13; y++) { w = (int) *(s + y); w = w^5; // 异或运算 *(s + y) = (char)w; } } }}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章