C# Pointer指針應用實例簡述
更新時間:2014年08月04日 11:11:21 投稿:shichen2014
這篇文章主要介紹了C# Pointer指針應用,對初學者很有借鑒學習價值,需要的朋友可以參考下
本文所述為在C#中使用Pointer指針的簡單示例,非常適合新手參考學習。該實例演示了字符串的加密及解密的過程,將字符串指針p指向字符數(shù)組b,并將參數(shù)p傳給函數(shù),以及對給定字符串進行加密處理。
具體實例代碼如下:
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指向字符數(shù)組b,并將參數(shù)p傳給函數(shù) 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#開發(fā)WinForm清空DataGridView控件綁定的數(shù)據(jù)
本文詳細講解了C#開發(fā)WinForm清空DataGridView控件綁定數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03C#實現(xiàn)Excel轉PDF時設置內容適應頁面寬度
將Excel轉為PDF格式時,通常情況下轉換出來的PDF頁面都是默認的寬度大小。所以本文提供了C#實現(xiàn)Excel轉PDF時設置內容適應頁面寬度的示例代碼,需要的可以參考一下2022-04-04DevExpress實現(xiàn)TreeList節(jié)點互斥的方法
這篇文章主要介紹了DevExpress實現(xiàn)TreeList節(jié)點互斥的方法,對于初學者更好的理解C#有一定的幫助,需要的朋友可以參考下2014-08-08