1 回答

TA貢獻(xiàn)1805條經(jīng)驗 獲得超10個贊
因為你想要速度,這可能會也可能不會讓你感興趣
unsafe public static string Convert(string input)
{
fixed (char* pInput = input)
{
char* p1, p2, len = pInput + input.Length;
for (p1 = p2 = pInput + 1; p2 < len; p1++, p2++)
*p1 = *(p2 - 1) == '"' && *p2 == '_' ? char.ToUpper(*++p2) : *p2;
return input.Substring(0, (int)(p1 - pInput));
}
}
它只是簡單地替換"_<char>為"<Upper case char>
在我的電腦上它可以做到 445 Mb 1.8 秒
樣本輸入
{
"menu":{
"id":"_file",
"value":"_file",
"popup":{
"menuitem":[
{
"value":"_new",
"onclick":"_createNewDoc()"
},
{
"value":"_open",
"onclick":"_openDoc()"
},
{
"value":"_close",
"onclick":"_closeDoc()"
}
]
}
}
}
輸出
{
"menu":{
"id":"File",
"value":"File",
"popup":{
"menuitem":[
{
"value":"New",
"onclick":"CreateNewDoc()"
},
{
"value":"Open",
"onclick":"OpenDoc()"
},
{
"value":"Close",
"onclick":"CloseDoc()"
}
]
}
}
}
- 1 回答
- 0 關(guān)注
- 206 瀏覽
添加回答
舉報