我已经写了一个函数反向,以在不安全的上下文中使用指针在.net中反转字符串。 我的确如此。是.net中的字符串被更改?有没有一些错误?
我分配“问候”和“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);
}
}
我希望你有很好的理由使用指针在C#... – jrummell 2012-04-19 15:00:09
@ jrummell试图获得最大的性能...... – Pritesh 2012-04-19 15:02:28
除非你已经对你的应用程序进行了基准测试,并确认这段代码是“慢”,不要打扰这种优化。 – jrummell 2012-04-19 15:05:44