软件编程
位置:首页>> 软件编程>> C#编程>> C# Pointer指针应用实例简述

C# Pointer指针应用实例简述

作者:shichen2014  发布时间:2021-12-21 12:48:55 

标签:C#,Pointer,指针

本文所述为在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;
 }
}
}
}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com