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左右.

你可能感兴趣的:(字符串)