C# Pointer指针应用实例简述
作者:shichen2014 时间:2021-12-21 12:48:55
本文所述为在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;
}
}
}
}
标签:C#,Pointer,指针
0
投稿
猜你喜欢
关于Java8 parallelStream并发安全的深入讲解
2023-11-15 06:37:35
android TabHost(选项卡)的使用方法
2021-08-09 10:08:39
C++实现LeetCode(9.验证回文数字)
2023-06-21 00:20:38
详解java.lang.reflect.Modifier.isInterface()方法
2023-07-27 18:25:25
图文详解OkHttp的超时时间
2022-05-14 13:50:23
Java设计模式之单例模式简介
2023-12-11 12:04:08
Android贝塞尔曲线初步学习第二课 仿QQ未读消息气泡拖拽黏连效果
2023-08-18 10:18:20
Android实现自定义圆形进度条
2022-10-28 04:55:22
Android Studio 3.0 新功能全面解析和旧项目适配问题
2022-09-16 23:53:57
详解SpringCloud微服务之Rest
2023-10-20 00:49:36
关于java关键字this和super的区别和理解
2022-08-01 14:33:09
Java实现在线聊天功能
2021-10-18 22:16:23
遍历文件系统目录树的深入理解
2022-09-15 20:03:46
Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)
2023-11-26 11:59:41
android开发教程之android的handler使用方法
2022-04-29 08:25:43
完整的医院就诊挂号系统基于Spring MVC + Spring + MyBatis实现
2022-06-03 18:07:05
详解Android 进程
2023-04-26 07:37:55
Java面向对象编程(封装/继承/多态)实例解析
2023-11-11 11:33:09
Springboot整合支付宝支付功能
2023-07-02 17:38:09
springboot 实战:异常与重定向问题
2022-03-06 15:44:54