C# 16进制字符串转成整数
可以用:
Convert.ToInt32(str, 16)
如果全小写, 可以用:
int[] b = new int[str.Length];
Array.Clear(b, 0, str.Length); //初始化
for(int j = 0; j < str.Length; ++j)
{
if (b[j] >= 97)
b[j] = b[j] - 87;
else
b[j] = b[j] - 48;
}
在大量字符串转换时, 下面那个转换效率会高很多.
在大量循环中尽量少用new 关键字, 少用.net自带的封装类.
今天在一个remoting项目中, 远程服务端运行很慢, 优化时去了字符转换开销, dictionary, new关键字. 一个函数从运行1秒到1ms左右.