安全でないコンテキストでポインターを使用して、.net の文字列を逆にする関数 Reverse を作成しました。私はこれが好きです。
「gree」と「x」に同じ値を割り当てます。驚いたことに逆挨拶 x も逆になります。
using System;
class Test{
private unsafe static void Reverse(string text){
fixed(char* pStr = text){
char* pBegin = pStr;
char* pEnd = pStr + text.Length - 1;
while(pBegin < pEnd){
char t = *pBegin;
*pBegin++ = *pEnd;
*pEnd-- = t;
}
}
}
public static void Main(){
string greet = "Hello World";
string x = "Hello World";
Reverse(greet);
Console.WriteLine(greet);
Console.WriteLine(x);
}
}